﻿/********************************************************************************
     File:																
            SqlDataProvider.cs                         
     Description:
            Sql数据库操作类
     Author:									
            DDBuildTools
            http://FrameWork.supesoft.com
     Finish DateTime:
			2013/4/1 12:21:45
     History:
*********************************************************************************/
using System;
using System.Web;
using System.Data;
using System.Data.SqlClient;
using System.Collections;
using System.Configuration;
using System.Collections.Generic;
using FrameWork.Components;
using Model.Components;

namespace Model.Data
{
    /// <summary>
    /// Sql数据库操作类
    /// </summary>
    public partial class SqlDataProvider : DataProvider
    {
        
        #region "SqlDataProvider"
        /// <summary>
        /// 数据库连接字符串
        /// </summary>
        private string ConnString = string.Empty;

        /// <summary>
        /// 构造函数
        /// </summary>
        public SqlDataProvider()
        {
            //
            // TODO: 在此处添加构造函数逻辑
            //
            ConnString = ConfigurationManager.AppSettings["MSSql"];
        }

        /// <summary>
        /// 连接数据库字符串
        /// </summary>
        /// <param name="strConn"></param>
        public SqlDataProvider(string strConn)
        {
            //
            // TODO: 在此处添加构造函数逻辑
            //
            ConnString = strConn;
        }

        /// <summary>
        /// 获取数据连接
        /// </summary>
        /// <returns></returns>
        public SqlConnection GetSqlConnection()
        {
            try
            {
                return new SqlConnection(ConnString);
            }
            catch
            {
                throw new Exception("没有提供数据庫连接字符串！");
            }
        }
        #endregion 
        
     
        #region "T_TJ (T_TJ) - SQLDataProvider"

        /// <summary>
        /// 新增/删除/修改 T_TJ (T_TJ)
        /// </summary>
        /// <param name="fam">T_TJEntity实体类(T_TJ)</param>
        /// <returns>-1:存储过程执行失败,-2:存在相同的主键,Insert:返回插入自动ID,Update:返回更新记录数,Delete:返回删除记录数</returns>
        public override Int32 T_TJInsertUpdateDelete(T_TJEntity fam)
        {
            Int32 rInt = -1;
            using (SqlConnection Conn = GetSqlConnection())
            {
                SqlCommand cmd = new SqlCommand("dbo.T_TJ_InsertUpdateDelete", Conn);
                cmd.CommandType = CommandType.StoredProcedure;
                //设置参数
                cmd.Parameters.Add("@DataTable_Action_", SqlDbType.VarChar).Value = fam.DataTable_Action_.ToString(); //操作方法 Insert:增加 Update:修改 Delete:删除

                cmd.Parameters.Add("@id", SqlDbType.Int).Value = fam.id;  //序号
                cmd.Parameters.Add("@bldw", SqlDbType.Int).Value = fam.bldw;  //办理单位
                cmd.Parameters.Add("@zjs", SqlDbType.Float).Value = fam.zjs;  //总件数
                cmd.Parameters.Add("@asbj", SqlDbType.Float).Value = fam.asbj;  //按时办结数
                cmd.Parameters.Add("@zbj", SqlDbType.Float).Value = fam.zbj;  //总办结数
                cmd.Parameters.Add("@asbjl", SqlDbType.Float).Value = fam.asbjl;  //按时办结率
                cmd.Parameters.Add("@zbjl", SqlDbType.Float).Value = fam.zbjl;  //总办结率
                Conn.Open();
                rInt = Convert.ToInt32(cmd.ExecuteScalar());
                cmd.Dispose();
                Conn.Dispose();
                Conn.Close();
            }
            return rInt;
        }

        /// <summary>
        /// 返回T_TJEntity实体类的List对象 (T_TJ)
        /// </summary>
        /// <param name="qp">查询类(非安全函数,传入参数请进行Sql字符串过滤)</param>
        /// <param name="RecordCount">返回记录总数</param>
        /// <returns>T_TJEntity实体类的List对象(T_TJ)</returns>
        public override List<T_TJEntity> T_TJList(QueryParam qp, out int RecordCount)
        {
            PopulateDelegate<T_TJEntity> mypd = new PopulateDelegate<T_TJEntity>(base.PopulateT_TJEntity);
            return this.GetRecordList(mypd, qp, out RecordCount);
        }
        #endregion

        #region "LFSea (来访季报表) - SQLDataProvider"

        /// <summary>
        /// 新增/删除/修改 LFSea (来访季报表)
        /// </summary>
        /// <param name="fam">LFSeaEntity实体类(来访季报表)</param>
        /// <returns>-1:存储过程执行失败,-2:存在相同的主键,Insert:返回插入自动ID,Update:返回更新记录数,Delete:返回删除记录数</returns>
        public override Int32 LFSeaInsertUpdateDelete(LFSeaEntity fam)
        {
            Int32 rInt = -1;
            using (SqlConnection Conn = GetSqlConnection())
            {
                SqlCommand cmd = new SqlCommand("dbo.LFSea_InsertUpdateDelete", Conn);
                cmd.CommandType = CommandType.StoredProcedure;
                //设置参数
                cmd.Parameters.Add("@DataTable_Action_", SqlDbType.VarChar).Value = fam.DataTable_Action_.ToString(); //操作方法 Insert:增加 Update:修改 Delete:删除

                cmd.Parameters.Add("@ID", SqlDbType.Int).Value = fam.ID;  //ID
                cmd.Parameters.Add("@tjYear", SqlDbType.Int).Value = fam.tjYear;  //tjYear
                cmd.Parameters.Add("@tjSea", SqlDbType.Int).Value = fam.tjSea;  //tjSea
                cmd.Parameters.Add("@a1_1", SqlDbType.Int).Value = fam.a1_1;  //a1_1
                cmd.Parameters.Add("@a1_2", SqlDbType.Int).Value = fam.a1_2;  //a1_2
                cmd.Parameters.Add("@a1_3", SqlDbType.Float).Value = fam.a1_3;  //a1_3
                cmd.Parameters.Add("@a2_1", SqlDbType.Int).Value = fam.a2_1;  //a2_1
                cmd.Parameters.Add("@a2_2", SqlDbType.Int).Value = fam.a2_2;  //a2_2
                cmd.Parameters.Add("@a2_3", SqlDbType.Float).Value = fam.a2_3;  //a2_3
                cmd.Parameters.Add("@a3_1", SqlDbType.Int).Value = fam.a3_1;  //a3_1
                cmd.Parameters.Add("@a3_2", SqlDbType.Int).Value = fam.a3_2;  //a3_2
                cmd.Parameters.Add("@a3_3", SqlDbType.Float).Value = fam.a3_3;  //a3_3
                cmd.Parameters.Add("@a4_1", SqlDbType.Int).Value = fam.a4_1;  //a4_1
                cmd.Parameters.Add("@a4_2", SqlDbType.Int).Value = fam.a4_2;  //a4_2
                cmd.Parameters.Add("@a4_3", SqlDbType.Float).Value = fam.a4_3;  //a4_3
                cmd.Parameters.Add("@a5_1", SqlDbType.Int).Value = fam.a5_1;  //a5_1
                cmd.Parameters.Add("@a5_2", SqlDbType.Int).Value = fam.a5_2;  //a5_2
                cmd.Parameters.Add("@a5_3", SqlDbType.Float).Value = fam.a5_3;  //a5_3
                cmd.Parameters.Add("@a6_1", SqlDbType.Int).Value = fam.a6_1;  //a6_1
                cmd.Parameters.Add("@a6_2", SqlDbType.Int).Value = fam.a6_2;  //a6_2
                cmd.Parameters.Add("@a6_3", SqlDbType.Float).Value = fam.a6_3;  //a6_3
                cmd.Parameters.Add("@a7_1", SqlDbType.Int).Value = fam.a7_1;  //a7_1
                cmd.Parameters.Add("@a7_2", SqlDbType.Int).Value = fam.a7_2;  //a7_2
                cmd.Parameters.Add("@a7_3", SqlDbType.Float).Value = fam.a7_3;  //a7_3
                cmd.Parameters.Add("@a8_1", SqlDbType.Int).Value = fam.a8_1;  //a8_1
                cmd.Parameters.Add("@a8_2", SqlDbType.Int).Value = fam.a8_2;  //a8_2
                cmd.Parameters.Add("@a8_3", SqlDbType.Float).Value = fam.a8_3;  //a8_3
                cmd.Parameters.Add("@a9_1", SqlDbType.Int).Value = fam.a9_1;  //a9_1
                cmd.Parameters.Add("@a9_2", SqlDbType.Int).Value = fam.a9_2;  //a9_2
                cmd.Parameters.Add("@a9_3", SqlDbType.Float).Value = fam.a9_3;  //a9_3
                cmd.Parameters.Add("@a10_1", SqlDbType.Int).Value = fam.a10_1;  //a10_1
                cmd.Parameters.Add("@a10_2", SqlDbType.Int).Value = fam.a10_2;  //a10_2
                cmd.Parameters.Add("@a10_3", SqlDbType.Float).Value = fam.a10_3;  //a10_3
                cmd.Parameters.Add("@a11_1", SqlDbType.Int).Value = fam.a11_1;  //a11_1
                cmd.Parameters.Add("@a11_2", SqlDbType.Int).Value = fam.a11_2;  //a11_2
                cmd.Parameters.Add("@a11_3", SqlDbType.Float).Value = fam.a11_3;  //a11_3
                cmd.Parameters.Add("@a12_1", SqlDbType.Int).Value = fam.a12_1;  //a12_1
                cmd.Parameters.Add("@a12_2", SqlDbType.Int).Value = fam.a12_2;  //a12_2
                cmd.Parameters.Add("@a12_3", SqlDbType.Float).Value = fam.a12_3;  //a12_3
                cmd.Parameters.Add("@a13_1", SqlDbType.Int).Value = fam.a13_1;  //a13_1
                cmd.Parameters.Add("@a13_2", SqlDbType.Int).Value = fam.a13_2;  //a13_2
                cmd.Parameters.Add("@a13_3", SqlDbType.Float).Value = fam.a13_3;  //a13_3
                cmd.Parameters.Add("@a14_1", SqlDbType.Int).Value = fam.a14_1;  //a14_1
                cmd.Parameters.Add("@a14_2", SqlDbType.Int).Value = fam.a14_2;  //a14_2
                cmd.Parameters.Add("@a14_3", SqlDbType.Float).Value = fam.a14_3;  //a14_3
                cmd.Parameters.Add("@a15_1", SqlDbType.Int).Value = fam.a15_1;  //a15_1
                cmd.Parameters.Add("@a15_2", SqlDbType.Int).Value = fam.a15_2;  //a15_2
                cmd.Parameters.Add("@a15_3", SqlDbType.Float).Value = fam.a15_3;  //a15_3
                cmd.Parameters.Add("@a16_1", SqlDbType.Int).Value = fam.a16_1;  //a16_1
                cmd.Parameters.Add("@a16_2", SqlDbType.Int).Value = fam.a16_2;  //a16_2
                cmd.Parameters.Add("@a16_3", SqlDbType.Float).Value = fam.a16_3;  //a16_3
                cmd.Parameters.Add("@a17_1", SqlDbType.Int).Value = fam.a17_1;  //a17_1
                cmd.Parameters.Add("@a17_2", SqlDbType.Int).Value = fam.a17_2;  //a17_2
                cmd.Parameters.Add("@a17_3", SqlDbType.Float).Value = fam.a17_3;  //a17_3
                cmd.Parameters.Add("@a18_1", SqlDbType.Int).Value = fam.a18_1;  //a18_1
                cmd.Parameters.Add("@a18_2", SqlDbType.Int).Value = fam.a18_2;  //a18_2
                cmd.Parameters.Add("@a183", SqlDbType.Float).Value = fam.a183;  //a183
                cmd.Parameters.Add("@a19_1", SqlDbType.Int).Value = fam.a19_1;  //a19_1
                cmd.Parameters.Add("@a19_2", SqlDbType.Int).Value = fam.a19_2;  //a19_2
                cmd.Parameters.Add("@a19_3", SqlDbType.Float).Value = fam.a19_3;  //a19_3
                cmd.Parameters.Add("@a20_1", SqlDbType.Int).Value = fam.a20_1;  //a20_1
                cmd.Parameters.Add("@a20_2", SqlDbType.Int).Value = fam.a20_2;  //a20_2
                cmd.Parameters.Add("@a20_3", SqlDbType.Float).Value = fam.a20_3;  //a20_3
                cmd.Parameters.Add("@a21_1", SqlDbType.Int).Value = fam.a21_1;  //a21_1
                cmd.Parameters.Add("@a21_2", SqlDbType.Int).Value = fam.a21_2;  //a21_2
                cmd.Parameters.Add("@a21_3", SqlDbType.Float).Value = fam.a21_3;  //a21_3
                cmd.Parameters.Add("@a22_1", SqlDbType.Int).Value = fam.a22_1;  //a22_1
                cmd.Parameters.Add("@a22_2", SqlDbType.Int).Value = fam.a22_2;  //a22_2
                cmd.Parameters.Add("@a22_3", SqlDbType.Float).Value = fam.a22_3;  //a22_3
                cmd.Parameters.Add("@dep", SqlDbType.VarChar).Value = fam.dep;  //dep
                cmd.Parameters.Add("@tj", SqlDbType.VarChar).Value = fam.tj;  //tj
                cmd.Parameters.Add("@phone", SqlDbType.VarChar).Value = fam.phone;  //phone
                cmd.Parameters.Add("@tjGroup", SqlDbType.Int).Value = fam.tjGroup;  //tjGroup
                if (fam.AddDate.HasValue)
                    cmd.Parameters.Add("@AddDate", SqlDbType.DateTime).Value = fam.AddDate;  //AddDate
                else
                    cmd.Parameters.Add("@AddDate", SqlDbType.DateTime).Value = DBNull.Value;  //AddDate
                Conn.Open();
                rInt = Convert.ToInt32(cmd.ExecuteScalar());
                cmd.Dispose();
                Conn.Dispose();
                Conn.Close();
            }
            return rInt;
        }

        /// <summary>
        /// 返回LFSeaEntity实体类的List对象 (来访季报表)
        /// </summary>
        /// <param name="qp">查询类(非安全函数,传入参数请进行Sql字符串过滤)</param>
        /// <param name="RecordCount">返回记录总数</param>
        /// <returns>LFSeaEntity实体类的List对象(来访季报表)</returns>
        public override List<LFSeaEntity> LFSeaList(QueryParam qp, out int RecordCount)
        {
            PopulateDelegate<LFSeaEntity> mypd = new PopulateDelegate<LFSeaEntity>(base.PopulateLFSeaEntity);
            return this.GetRecordList(mypd, qp, out RecordCount);
        }
        #endregion

        #region "LFYear (来访季报表) - SQLDataProvider"

        /// <summary>
        /// 新增/删除/修改 LFYear (来访季报表)
        /// </summary>
        /// <param name="fam">LFYearEntity实体类(来访季报表)</param>
        /// <returns>-1:存储过程执行失败,-2:存在相同的主键,Insert:返回插入自动ID,Update:返回更新记录数,Delete:返回删除记录数</returns>
        public override Int32 LFYearInsertUpdateDelete(LFYearEntity fam)
        {
            Int32 rInt = -1;
            using (SqlConnection Conn = GetSqlConnection())
            {
                SqlCommand cmd = new SqlCommand("dbo.LFYear_InsertUpdateDelete", Conn);
                cmd.CommandType = CommandType.StoredProcedure;
                //设置参数
                cmd.Parameters.Add("@DataTable_Action_", SqlDbType.VarChar).Value = fam.DataTable_Action_.ToString(); //操作方法 Insert:增加 Update:修改 Delete:删除

                cmd.Parameters.Add("@ID", SqlDbType.Int).Value = fam.ID;  //ID
                cmd.Parameters.Add("@tjYear", SqlDbType.Int).Value = fam.tjYear;  //tjYear
                cmd.Parameters.Add("@a1_1", SqlDbType.Int).Value = fam.a1_1;  //a1_1
                cmd.Parameters.Add("@a1_2", SqlDbType.Int).Value = fam.a1_2;  //a1_2
                cmd.Parameters.Add("@a1_3", SqlDbType.Float).Value = fam.a1_3;  //a1_3
                cmd.Parameters.Add("@a2_1", SqlDbType.Int).Value = fam.a2_1;  //a2_1
                cmd.Parameters.Add("@a2_2", SqlDbType.Int).Value = fam.a2_2;  //a2_2
                cmd.Parameters.Add("@a2_3", SqlDbType.Float).Value = fam.a2_3;  //a2_3
                cmd.Parameters.Add("@a3_1", SqlDbType.Int).Value = fam.a3_1;  //a3_1
                cmd.Parameters.Add("@a3_2", SqlDbType.Int).Value = fam.a3_2;  //a3_2
                cmd.Parameters.Add("@a3_3", SqlDbType.Float).Value = fam.a3_3;  //a3_3
                cmd.Parameters.Add("@a4_1", SqlDbType.Int).Value = fam.a4_1;  //a4_1
                cmd.Parameters.Add("@a4_2", SqlDbType.Int).Value = fam.a4_2;  //a4_2
                cmd.Parameters.Add("@a4_3", SqlDbType.Float).Value = fam.a4_3;  //a4_3
                cmd.Parameters.Add("@a5_1", SqlDbType.Int).Value = fam.a5_1;  //a5_1
                cmd.Parameters.Add("@a5_2", SqlDbType.Int).Value = fam.a5_2;  //a5_2
                cmd.Parameters.Add("@a5_3", SqlDbType.Float).Value = fam.a5_3;  //a5_3
                cmd.Parameters.Add("@a6_1", SqlDbType.Int).Value = fam.a6_1;  //a6_1
                cmd.Parameters.Add("@a6_2", SqlDbType.Int).Value = fam.a6_2;  //a6_2
                cmd.Parameters.Add("@a6_3", SqlDbType.Float).Value = fam.a6_3;  //a6_3
                cmd.Parameters.Add("@a7_1", SqlDbType.Int).Value = fam.a7_1;  //a7_1
                cmd.Parameters.Add("@a7_2", SqlDbType.Int).Value = fam.a7_2;  //a7_2
                cmd.Parameters.Add("@a7_3", SqlDbType.Float).Value = fam.a7_3;  //a7_3
                cmd.Parameters.Add("@a8_1", SqlDbType.Int).Value = fam.a8_1;  //a8_1
                cmd.Parameters.Add("@a8_2", SqlDbType.Int).Value = fam.a8_2;  //a8_2
                cmd.Parameters.Add("@a8_3", SqlDbType.Float).Value = fam.a8_3;  //a8_3
                cmd.Parameters.Add("@a9_1", SqlDbType.Int).Value = fam.a9_1;  //a9_1
                cmd.Parameters.Add("@a9_2", SqlDbType.Int).Value = fam.a9_2;  //a9_2
                cmd.Parameters.Add("@a9_3", SqlDbType.Float).Value = fam.a9_3;  //a9_3
                cmd.Parameters.Add("@a10_1", SqlDbType.Int).Value = fam.a10_1;  //a10_1
                cmd.Parameters.Add("@a10_2", SqlDbType.Int).Value = fam.a10_2;  //a10_2
                cmd.Parameters.Add("@a10_3", SqlDbType.Float).Value = fam.a10_3;  //a10_3
                cmd.Parameters.Add("@a11_1", SqlDbType.Int).Value = fam.a11_1;  //a11_1
                cmd.Parameters.Add("@a11_2", SqlDbType.Int).Value = fam.a11_2;  //a11_2
                cmd.Parameters.Add("@a11_3", SqlDbType.Float).Value = fam.a11_3;  //a11_3
                cmd.Parameters.Add("@a12_1", SqlDbType.Int).Value = fam.a12_1;  //a12_1
                cmd.Parameters.Add("@a12_2", SqlDbType.Int).Value = fam.a12_2;  //a12_2
                cmd.Parameters.Add("@a12_3", SqlDbType.Float).Value = fam.a12_3;  //a12_3
                cmd.Parameters.Add("@a13_1", SqlDbType.Int).Value = fam.a13_1;  //a13_1
                cmd.Parameters.Add("@a13_2", SqlDbType.Int).Value = fam.a13_2;  //a13_2
                cmd.Parameters.Add("@a13_3", SqlDbType.Float).Value = fam.a13_3;  //a13_3
                cmd.Parameters.Add("@a14_1", SqlDbType.Int).Value = fam.a14_1;  //a14_1
                cmd.Parameters.Add("@a14_2", SqlDbType.Int).Value = fam.a14_2;  //a14_2
                cmd.Parameters.Add("@a14_3", SqlDbType.Float).Value = fam.a14_3;  //a14_3
                cmd.Parameters.Add("@a15_1", SqlDbType.Int).Value = fam.a15_1;  //a15_1
                cmd.Parameters.Add("@a15_2", SqlDbType.Int).Value = fam.a15_2;  //a15_2
                cmd.Parameters.Add("@a15_3", SqlDbType.Float).Value = fam.a15_3;  //a15_3
                cmd.Parameters.Add("@a16_1", SqlDbType.Int).Value = fam.a16_1;  //a16_1
                cmd.Parameters.Add("@a16_2", SqlDbType.Int).Value = fam.a16_2;  //a16_2
                cmd.Parameters.Add("@a16_3", SqlDbType.Float).Value = fam.a16_3;  //a16_3
                cmd.Parameters.Add("@a17_1", SqlDbType.Int).Value = fam.a17_1;  //a17_1
                cmd.Parameters.Add("@a17_2", SqlDbType.Int).Value = fam.a17_2;  //a17_2
                cmd.Parameters.Add("@a17_3", SqlDbType.Float).Value = fam.a17_3;  //a17_3
                cmd.Parameters.Add("@a18_1", SqlDbType.Int).Value = fam.a18_1;  //a18_1
                cmd.Parameters.Add("@a18_2", SqlDbType.Int).Value = fam.a18_2;  //a18_2
                cmd.Parameters.Add("@a183", SqlDbType.Float).Value = fam.a183;  //a183
                cmd.Parameters.Add("@a19_1", SqlDbType.Int).Value = fam.a19_1;  //a19_1
                cmd.Parameters.Add("@a19_2", SqlDbType.Int).Value = fam.a19_2;  //a19_2
                cmd.Parameters.Add("@a19_3", SqlDbType.Float).Value = fam.a19_3;  //a19_3
                cmd.Parameters.Add("@a20_1", SqlDbType.Int).Value = fam.a20_1;  //a20_1
                cmd.Parameters.Add("@a20_2", SqlDbType.Int).Value = fam.a20_2;  //a20_2
                cmd.Parameters.Add("@a20_3", SqlDbType.Float).Value = fam.a20_3;  //a20_3
                cmd.Parameters.Add("@a21_1", SqlDbType.Int).Value = fam.a21_1;  //a21_1
                cmd.Parameters.Add("@a21_2", SqlDbType.Int).Value = fam.a21_2;  //a21_2
                cmd.Parameters.Add("@a21_3", SqlDbType.Float).Value = fam.a21_3;  //a21_3
                cmd.Parameters.Add("@a22_1", SqlDbType.Int).Value = fam.a22_1;  //a22_1
                cmd.Parameters.Add("@a22_2", SqlDbType.Int).Value = fam.a22_2;  //a22_2
                cmd.Parameters.Add("@a22_3", SqlDbType.Float).Value = fam.a22_3;  //a22_3
                cmd.Parameters.Add("@dep", SqlDbType.VarChar).Value = fam.dep;  //dep
                cmd.Parameters.Add("@tj", SqlDbType.VarChar).Value = fam.tj;  //tj
                cmd.Parameters.Add("@phone", SqlDbType.VarChar).Value = fam.phone;  //phone
                cmd.Parameters.Add("@tjGroup", SqlDbType.Int).Value = fam.tjGroup;  //tjGroup
                if (fam.AddDate.HasValue)
                    cmd.Parameters.Add("@AddDate", SqlDbType.DateTime).Value = fam.AddDate;  //AddDate
                else
                    cmd.Parameters.Add("@AddDate", SqlDbType.DateTime).Value = DBNull.Value;  //AddDate
                Conn.Open();
                rInt = Convert.ToInt32(cmd.ExecuteScalar());
                cmd.Dispose();
                Conn.Dispose();
                Conn.Close();
            }
            return rInt;
        }

        /// <summary>
        /// 返回LFYearEntity实体类的List对象 (来访季报表)
        /// </summary>
        /// <param name="qp">查询类(非安全函数,传入参数请进行Sql字符串过滤)</param>
        /// <param name="RecordCount">返回记录总数</param>
        /// <returns>LFYearEntity实体类的List对象(来访季报表)</returns>
        public override List<LFYearEntity> LFYearList(QueryParam qp, out int RecordCount)
        {
            PopulateDelegate<LFYearEntity> mypd = new PopulateDelegate<LFYearEntity>(base.PopulateLFYearEntity);
            return this.GetRecordList(mypd, qp, out RecordCount);
        }
        #endregion

        #region "LXSea (信访工作来信季报表) - SQLDataProvider"

        /// <summary>
        /// 新增/删除/修改 LXSea (信访工作来信季报表)
        /// </summary>
        /// <param name="fam">LXSeaEntity实体类(信访工作来信季报表)</param>
        /// <returns>-1:存储过程执行失败,-2:存在相同的主键,Insert:返回插入自动ID,Update:返回更新记录数,Delete:返回删除记录数</returns>
        public override Int32 LXSeaInsertUpdateDelete(LXSeaEntity fam)
        {
            Int32 rInt = -1;
            using (SqlConnection Conn = GetSqlConnection())
            {
                SqlCommand cmd = new SqlCommand("dbo.LXSea_InsertUpdateDelete", Conn);
                cmd.CommandType = CommandType.StoredProcedure;
                //设置参数
                cmd.Parameters.Add("@DataTable_Action_", SqlDbType.VarChar).Value = fam.DataTable_Action_.ToString(); //操作方法 Insert:增加 Update:修改 Delete:删除

                cmd.Parameters.Add("@ID", SqlDbType.Int).Value = fam.ID;  //ID
                cmd.Parameters.Add("@tjYear", SqlDbType.Int).Value = fam.tjYear;  //tjYear
                cmd.Parameters.Add("@tjMonth", SqlDbType.Int).Value = fam.tjMonth;  //tjMonth
                cmd.Parameters.Add("@a1_1", SqlDbType.Int).Value = fam.a1_1;  //a1_1
                cmd.Parameters.Add("@a1_2", SqlDbType.Int).Value = fam.a1_2;  //a1_2
                cmd.Parameters.Add("@a1_3", SqlDbType.Float).Value = fam.a1_3;  //a1_3
                cmd.Parameters.Add("@a1_4", SqlDbType.Int).Value = fam.a1_4;  //a1_4
                cmd.Parameters.Add("@a1_5", SqlDbType.Int).Value = fam.a1_5;  //a1_5
                cmd.Parameters.Add("@a1_6", SqlDbType.Float).Value = fam.a1_6;  //a1_6
                cmd.Parameters.Add("@a1_7", SqlDbType.Int).Value = fam.a1_7;  //a1_7
                cmd.Parameters.Add("@a1_8", SqlDbType.Int).Value = fam.a1_8;  //a1_8
                cmd.Parameters.Add("@a1_9", SqlDbType.Float).Value = fam.a1_9;  //a1_9
                cmd.Parameters.Add("@a2_1", SqlDbType.Int).Value = fam.a2_1;  //a2_1
                cmd.Parameters.Add("@a2_2", SqlDbType.Int).Value = fam.a2_2;  //a2_2
                cmd.Parameters.Add("@a2_3", SqlDbType.Float).Value = fam.a2_3;  //a2_3
                cmd.Parameters.Add("@a2_4", SqlDbType.Int).Value = fam.a2_4;  //a2_4
                cmd.Parameters.Add("@a2_5", SqlDbType.Int).Value = fam.a2_5;  //a2_5
                cmd.Parameters.Add("@a2_6", SqlDbType.Float).Value = fam.a2_6;  //a2_6
                cmd.Parameters.Add("@a2_7", SqlDbType.Int).Value = fam.a2_7;  //a2_7
                cmd.Parameters.Add("@a2_8", SqlDbType.Int).Value = fam.a2_8;  //a2_8
                cmd.Parameters.Add("@a2_9", SqlDbType.Float).Value = fam.a2_9;  //a2_9
                cmd.Parameters.Add("@a3_1", SqlDbType.Int).Value = fam.a3_1;  //a3_1
                cmd.Parameters.Add("@a3_2", SqlDbType.Int).Value = fam.a3_2;  //a3_2
                cmd.Parameters.Add("@a3_3", SqlDbType.Float).Value = fam.a3_3;  //a3_3
                cmd.Parameters.Add("@a3_4", SqlDbType.Int).Value = fam.a3_4;  //a3_4
                cmd.Parameters.Add("@a3_5", SqlDbType.Int).Value = fam.a3_5;  //a3_5
                cmd.Parameters.Add("@a3_6", SqlDbType.Float).Value = fam.a3_6;  //a3_6
                cmd.Parameters.Add("@a3_7", SqlDbType.Int).Value = fam.a3_7;  //a3_7
                cmd.Parameters.Add("@a3_8", SqlDbType.Int).Value = fam.a3_8;  //a3_8
                cmd.Parameters.Add("@a3_9", SqlDbType.Float).Value = fam.a3_9;  //a3_9
                cmd.Parameters.Add("@a4_1", SqlDbType.Int).Value = fam.a4_1;  //a4_1
                cmd.Parameters.Add("@a4_2", SqlDbType.Int).Value = fam.a4_2;  //a4_2
                cmd.Parameters.Add("@a4_3", SqlDbType.Float).Value = fam.a4_3;  //a4_3
                cmd.Parameters.Add("@a4_4", SqlDbType.Int).Value = fam.a4_4;  //a4_4
                cmd.Parameters.Add("@a4_5", SqlDbType.Int).Value = fam.a4_5;  //a4_5
                cmd.Parameters.Add("@a4_6", SqlDbType.Float).Value = fam.a4_6;  //a4_6
                cmd.Parameters.Add("@a4_7", SqlDbType.Int).Value = fam.a4_7;  //a4_7
                cmd.Parameters.Add("@a4_8", SqlDbType.Int).Value = fam.a4_8;  //a4_8
                cmd.Parameters.Add("@a4_9", SqlDbType.Float).Value = fam.a4_9;  //a4_9
                cmd.Parameters.Add("@a5_1", SqlDbType.Int).Value = fam.a5_1;  //a5_1
                cmd.Parameters.Add("@a5_2", SqlDbType.Int).Value = fam.a5_2;  //a5_2
                cmd.Parameters.Add("@a5_3", SqlDbType.Float).Value = fam.a5_3;  //a5_3
                cmd.Parameters.Add("@a5_4", SqlDbType.Int).Value = fam.a5_4;  //a5_4
                cmd.Parameters.Add("@a5_5", SqlDbType.Int).Value = fam.a5_5;  //a5_5
                cmd.Parameters.Add("@a5_6", SqlDbType.Float).Value = fam.a5_6;  //a5_6
                cmd.Parameters.Add("@a5_7", SqlDbType.Int).Value = fam.a5_7;  //a5_7
                cmd.Parameters.Add("@a5_8", SqlDbType.Int).Value = fam.a5_8;  //a5_8
                cmd.Parameters.Add("@a5_9", SqlDbType.Float).Value = fam.a5_9;  //a5_9
                cmd.Parameters.Add("@a6_1", SqlDbType.Int).Value = fam.a6_1;  //a6_1
                cmd.Parameters.Add("@a6_2", SqlDbType.Int).Value = fam.a6_2;  //a6_2
                cmd.Parameters.Add("@a6_3", SqlDbType.Float).Value = fam.a6_3;  //a6_3
                cmd.Parameters.Add("@a6_4", SqlDbType.Int).Value = fam.a6_4;  //a6_4
                cmd.Parameters.Add("@a6_5", SqlDbType.Int).Value = fam.a6_5;  //a6_5
                cmd.Parameters.Add("@a6_6", SqlDbType.Float).Value = fam.a6_6;  //a6_6
                cmd.Parameters.Add("@a6_7", SqlDbType.Int).Value = fam.a6_7;  //a6_7
                cmd.Parameters.Add("@a6_8", SqlDbType.Int).Value = fam.a6_8;  //a6_8
                cmd.Parameters.Add("@a6_9", SqlDbType.Float).Value = fam.a6_9;  //a6_9
                cmd.Parameters.Add("@a7_1", SqlDbType.Int).Value = fam.a7_1;  //a7_1
                cmd.Parameters.Add("@a7_2", SqlDbType.Int).Value = fam.a7_2;  //a7_2
                cmd.Parameters.Add("@a7_3", SqlDbType.Float).Value = fam.a7_3;  //a7_3
                cmd.Parameters.Add("@a7_4", SqlDbType.Int).Value = fam.a7_4;  //a7_4
                cmd.Parameters.Add("@a7_5", SqlDbType.Int).Value = fam.a7_5;  //a7_5
                cmd.Parameters.Add("@a7_6", SqlDbType.Float).Value = fam.a7_6;  //a7_6
                cmd.Parameters.Add("@a7_7", SqlDbType.Int).Value = fam.a7_7;  //a7_7
                cmd.Parameters.Add("@a7_8", SqlDbType.Int).Value = fam.a7_8;  //a7_8
                cmd.Parameters.Add("@a7_9", SqlDbType.Float).Value = fam.a7_9;  //a7_9
                cmd.Parameters.Add("@a8_1", SqlDbType.Int).Value = fam.a8_1;  //a8_1
                cmd.Parameters.Add("@a8_2", SqlDbType.Int).Value = fam.a8_2;  //a8_2
                cmd.Parameters.Add("@a8_3", SqlDbType.Float).Value = fam.a8_3;  //a8_3
                cmd.Parameters.Add("@a8_4", SqlDbType.Int).Value = fam.a8_4;  //a8_4
                cmd.Parameters.Add("@a8_5", SqlDbType.Int).Value = fam.a8_5;  //a8_5
                cmd.Parameters.Add("@a8_6", SqlDbType.Float).Value = fam.a8_6;  //a8_6
                cmd.Parameters.Add("@a8_7", SqlDbType.Int).Value = fam.a8_7;  //a8_7
                cmd.Parameters.Add("@a8_8", SqlDbType.Int).Value = fam.a8_8;  //a8_8
                cmd.Parameters.Add("@a8_9", SqlDbType.Float).Value = fam.a8_9;  //a8_9
                cmd.Parameters.Add("@a9_1", SqlDbType.Int).Value = fam.a9_1;  //a9_1
                cmd.Parameters.Add("@a9_2", SqlDbType.Int).Value = fam.a9_2;  //a9_2
                cmd.Parameters.Add("@a9_3", SqlDbType.Float).Value = fam.a9_3;  //a9_3
                cmd.Parameters.Add("@a9_4", SqlDbType.Int).Value = fam.a9_4;  //a9_4
                cmd.Parameters.Add("@a9_5", SqlDbType.Int).Value = fam.a9_5;  //a9_5
                cmd.Parameters.Add("@a9_6", SqlDbType.Float).Value = fam.a9_6;  //a9_6
                cmd.Parameters.Add("@a9_7", SqlDbType.Int).Value = fam.a9_7;  //a9_7
                cmd.Parameters.Add("@a9_8", SqlDbType.Int).Value = fam.a9_8;  //a9_8
                cmd.Parameters.Add("@a9_9", SqlDbType.Float).Value = fam.a9_9;  //a9_9
                cmd.Parameters.Add("@a10_1", SqlDbType.Int).Value = fam.a10_1;  //a10_1
                cmd.Parameters.Add("@a10_2", SqlDbType.Int).Value = fam.a10_2;  //a10_2
                cmd.Parameters.Add("@a10_3", SqlDbType.Float).Value = fam.a10_3;  //a10_3
                cmd.Parameters.Add("@a10_4", SqlDbType.Int).Value = fam.a10_4;  //a10_4
                cmd.Parameters.Add("@a10_5", SqlDbType.Int).Value = fam.a10_5;  //a10_5
                cmd.Parameters.Add("@a10_6", SqlDbType.Float).Value = fam.a10_6;  //a10_6
                cmd.Parameters.Add("@a10_7", SqlDbType.Int).Value = fam.a10_7;  //a10_7
                cmd.Parameters.Add("@a10_8", SqlDbType.Int).Value = fam.a10_8;  //a10_8
                cmd.Parameters.Add("@a10_9", SqlDbType.Float).Value = fam.a10_9;  //a10_9
                cmd.Parameters.Add("@a11_1", SqlDbType.Int).Value = fam.a11_1;  //a11_1
                cmd.Parameters.Add("@a11_2", SqlDbType.Int).Value = fam.a11_2;  //a11_2
                cmd.Parameters.Add("@a11_3", SqlDbType.Float).Value = fam.a11_3;  //a11_3
                cmd.Parameters.Add("@a11_4", SqlDbType.Int).Value = fam.a11_4;  //a11_4
                cmd.Parameters.Add("@a11_5", SqlDbType.Int).Value = fam.a11_5;  //a11_5
                cmd.Parameters.Add("@a11_6", SqlDbType.Float).Value = fam.a11_6;  //a11_6
                cmd.Parameters.Add("@a11_7", SqlDbType.Int).Value = fam.a11_7;  //a11_7
                cmd.Parameters.Add("@a11_8", SqlDbType.Int).Value = fam.a11_8;  //a11_8
                cmd.Parameters.Add("@a11_9", SqlDbType.Float).Value = fam.a11_9;  //a11_9
                cmd.Parameters.Add("@a12_1", SqlDbType.Int).Value = fam.a12_1;  //a12_1
                cmd.Parameters.Add("@a12_2", SqlDbType.Int).Value = fam.a12_2;  //a12_2
                cmd.Parameters.Add("@a12_3", SqlDbType.Float).Value = fam.a12_3;  //a12_3
                cmd.Parameters.Add("@a12_4", SqlDbType.Int).Value = fam.a12_4;  //a12_4
                cmd.Parameters.Add("@a12_5", SqlDbType.Int).Value = fam.a12_5;  //a12_5
                cmd.Parameters.Add("@a12_6", SqlDbType.Float).Value = fam.a12_6;  //a12_6
                cmd.Parameters.Add("@a12_7", SqlDbType.Int).Value = fam.a12_7;  //a12_7
                cmd.Parameters.Add("@a12_8", SqlDbType.Int).Value = fam.a12_8;  //a12_8
                cmd.Parameters.Add("@a12_9", SqlDbType.Float).Value = fam.a12_9;  //a12_9
                cmd.Parameters.Add("@a13_1", SqlDbType.Int).Value = fam.a13_1;  //a13_1
                cmd.Parameters.Add("@a13_2", SqlDbType.Int).Value = fam.a13_2;  //a13_2
                cmd.Parameters.Add("@a13_3", SqlDbType.Float).Value = fam.a13_3;  //a13_3
                cmd.Parameters.Add("@a13_4", SqlDbType.Int).Value = fam.a13_4;  //a13_4
                cmd.Parameters.Add("@a13_5", SqlDbType.Int).Value = fam.a13_5;  //a13_5
                cmd.Parameters.Add("@a13_6", SqlDbType.Float).Value = fam.a13_6;  //a13_6
                cmd.Parameters.Add("@a13_7", SqlDbType.Int).Value = fam.a13_7;  //a13_7
                cmd.Parameters.Add("@a13_8", SqlDbType.Int).Value = fam.a13_8;  //a13_8
                cmd.Parameters.Add("@a13_9", SqlDbType.Float).Value = fam.a13_9;  //a13_9
                cmd.Parameters.Add("@a14_1", SqlDbType.Int).Value = fam.a14_1;  //a14_1
                cmd.Parameters.Add("@a14_2", SqlDbType.Int).Value = fam.a14_2;  //a14_2
                cmd.Parameters.Add("@a14_3", SqlDbType.Float).Value = fam.a14_3;  //a14_3
                cmd.Parameters.Add("@a14_4", SqlDbType.Int).Value = fam.a14_4;  //a14_4
                cmd.Parameters.Add("@a14_5", SqlDbType.Int).Value = fam.a14_5;  //a14_5
                cmd.Parameters.Add("@a14_6", SqlDbType.Float).Value = fam.a14_6;  //a14_6
                cmd.Parameters.Add("@a14_7", SqlDbType.Int).Value = fam.a14_7;  //a14_7
                cmd.Parameters.Add("@a14_8", SqlDbType.Int).Value = fam.a14_8;  //a14_8
                cmd.Parameters.Add("@a14_9", SqlDbType.Float).Value = fam.a14_9;  //a14_9
                cmd.Parameters.Add("@a15_1", SqlDbType.Int).Value = fam.a15_1;  //a15_1
                cmd.Parameters.Add("@a15_2", SqlDbType.Int).Value = fam.a15_2;  //a15_2
                cmd.Parameters.Add("@a15_3", SqlDbType.Float).Value = fam.a15_3;  //a15_3
                cmd.Parameters.Add("@a15_4", SqlDbType.Int).Value = fam.a15_4;  //a15_4
                cmd.Parameters.Add("@a15_5", SqlDbType.Int).Value = fam.a15_5;  //a15_5
                cmd.Parameters.Add("@a15_6", SqlDbType.Float).Value = fam.a15_6;  //a15_6
                cmd.Parameters.Add("@a15_7", SqlDbType.Int).Value = fam.a15_7;  //a15_7
                cmd.Parameters.Add("@a15_8", SqlDbType.Int).Value = fam.a15_8;  //a15_8
                cmd.Parameters.Add("@a15_9", SqlDbType.Float).Value = fam.a15_9;  //a15_9
                cmd.Parameters.Add("@a16_1", SqlDbType.Int).Value = fam.a16_1;  //a16_1
                cmd.Parameters.Add("@a16_2", SqlDbType.Int).Value = fam.a16_2;  //a16_2
                cmd.Parameters.Add("@a16_3", SqlDbType.Float).Value = fam.a16_3;  //a16_3
                cmd.Parameters.Add("@a16_4", SqlDbType.Int).Value = fam.a16_4;  //a16_4
                cmd.Parameters.Add("@a16_5", SqlDbType.Int).Value = fam.a16_5;  //a16_5
                cmd.Parameters.Add("@a16_6", SqlDbType.Float).Value = fam.a16_6;  //a16_6
                cmd.Parameters.Add("@a16_7", SqlDbType.Int).Value = fam.a16_7;  //a16_7
                cmd.Parameters.Add("@a16_8", SqlDbType.Int).Value = fam.a16_8;  //a16_8
                cmd.Parameters.Add("@a16_9", SqlDbType.Float).Value = fam.a16_9;  //a16_9
                cmd.Parameters.Add("@a17_1", SqlDbType.Int).Value = fam.a17_1;  //a17_1
                cmd.Parameters.Add("@a17_2", SqlDbType.Int).Value = fam.a17_2;  //a17_2
                cmd.Parameters.Add("@a17_3", SqlDbType.Float).Value = fam.a17_3;  //a17_3
                cmd.Parameters.Add("@a17_4", SqlDbType.Int).Value = fam.a17_4;  //a17_4
                cmd.Parameters.Add("@a17_5", SqlDbType.Int).Value = fam.a17_5;  //a17_5
                cmd.Parameters.Add("@a17_6", SqlDbType.Float).Value = fam.a17_6;  //a17_6
                cmd.Parameters.Add("@a17_7", SqlDbType.Int).Value = fam.a17_7;  //a17_7
                cmd.Parameters.Add("@a17_8", SqlDbType.Int).Value = fam.a17_8;  //a17_8
                cmd.Parameters.Add("@a17_9", SqlDbType.Float).Value = fam.a17_9;  //a17_9
                cmd.Parameters.Add("@a18_1", SqlDbType.Int).Value = fam.a18_1;  //a18_1
                cmd.Parameters.Add("@a18_2", SqlDbType.Int).Value = fam.a18_2;  //a18_2
                cmd.Parameters.Add("@a18_3", SqlDbType.Float).Value = fam.a18_3;  //a18_3
                cmd.Parameters.Add("@a18_4", SqlDbType.Int).Value = fam.a18_4;  //a18_4
                cmd.Parameters.Add("@a18_5", SqlDbType.Int).Value = fam.a18_5;  //a18_5
                cmd.Parameters.Add("@a18_6", SqlDbType.Float).Value = fam.a18_6;  //a18_6
                cmd.Parameters.Add("@a18_7", SqlDbType.Int).Value = fam.a18_7;  //a18_7
                cmd.Parameters.Add("@a18_8", SqlDbType.Int).Value = fam.a18_8;  //a18_8
                cmd.Parameters.Add("@a18_9", SqlDbType.Float).Value = fam.a18_9;  //a18_9
                cmd.Parameters.Add("@a19_1", SqlDbType.Int).Value = fam.a19_1;  //a19_1
                cmd.Parameters.Add("@a19_2", SqlDbType.Int).Value = fam.a19_2;  //a19_2
                cmd.Parameters.Add("@a19_3", SqlDbType.Float).Value = fam.a19_3;  //a19_3
                cmd.Parameters.Add("@a19_4", SqlDbType.Int).Value = fam.a19_4;  //a19_4
                cmd.Parameters.Add("@a19_5", SqlDbType.Int).Value = fam.a19_5;  //a19_5
                cmd.Parameters.Add("@a19_6", SqlDbType.Float).Value = fam.a19_6;  //a19_6
                cmd.Parameters.Add("@a19_7", SqlDbType.Int).Value = fam.a19_7;  //a19_7
                cmd.Parameters.Add("@a19_8", SqlDbType.Int).Value = fam.a19_8;  //a19_8
                cmd.Parameters.Add("@a19_9", SqlDbType.Float).Value = fam.a19_9;  //a19_9
                cmd.Parameters.Add("@a20_1", SqlDbType.Int).Value = fam.a20_1;  //a20_1
                cmd.Parameters.Add("@a20_2", SqlDbType.Int).Value = fam.a20_2;  //a20_2
                cmd.Parameters.Add("@a20_3", SqlDbType.Float).Value = fam.a20_3;  //a20_3
                cmd.Parameters.Add("@a20_4", SqlDbType.Int).Value = fam.a20_4;  //a20_4
                cmd.Parameters.Add("@a20_5", SqlDbType.Int).Value = fam.a20_5;  //a20_5
                cmd.Parameters.Add("@a20_6", SqlDbType.Float).Value = fam.a20_6;  //a20_6
                cmd.Parameters.Add("@a20_7", SqlDbType.Int).Value = fam.a20_7;  //a20_7
                cmd.Parameters.Add("@a20_8", SqlDbType.Int).Value = fam.a20_8;  //a20_8
                cmd.Parameters.Add("@a20_9", SqlDbType.Float).Value = fam.a20_9;  //a20_9
                cmd.Parameters.Add("@a21_1", SqlDbType.Int).Value = fam.a21_1;  //a21_1
                cmd.Parameters.Add("@a21_2", SqlDbType.Int).Value = fam.a21_2;  //a21_2
                cmd.Parameters.Add("@a21_3", SqlDbType.Float).Value = fam.a21_3;  //a21_3
                cmd.Parameters.Add("@a21_4", SqlDbType.Int).Value = fam.a21_4;  //a21_4
                cmd.Parameters.Add("@a21_5", SqlDbType.Int).Value = fam.a21_5;  //a21_5
                cmd.Parameters.Add("@a21_6", SqlDbType.Float).Value = fam.a21_6;  //a21_6
                cmd.Parameters.Add("@a21_7", SqlDbType.Int).Value = fam.a21_7;  //a21_7
                cmd.Parameters.Add("@a21_8", SqlDbType.Int).Value = fam.a21_8;  //a21_8
                cmd.Parameters.Add("@a21_9", SqlDbType.Float).Value = fam.a21_9;  //a21_9
                cmd.Parameters.Add("@dep", SqlDbType.VarChar).Value = fam.dep;  //dep
                cmd.Parameters.Add("@tj", SqlDbType.VarChar).Value = fam.tj;  //tj
                cmd.Parameters.Add("@phone", SqlDbType.VarChar).Value = fam.phone;  //phone
                cmd.Parameters.Add("@tjDep", SqlDbType.Int).Value = fam.tjDep;  //tjDep
                if (fam.tjtime.HasValue)
                    cmd.Parameters.Add("@tjtime", SqlDbType.DateTime).Value = fam.tjtime;  //tjtime
                else
                    cmd.Parameters.Add("@tjtime", SqlDbType.DateTime).Value = DBNull.Value;  //tjtime
                Conn.Open();
                rInt = Convert.ToInt32(cmd.ExecuteScalar());
                cmd.Dispose();
                Conn.Dispose();
                Conn.Close();
            }
            return rInt;
        }

        /// <summary>
        /// 返回LXSeaEntity实体类的List对象 (信访工作来信季报表)
        /// </summary>
        /// <param name="qp">查询类(非安全函数,传入参数请进行Sql字符串过滤)</param>
        /// <param name="RecordCount">返回记录总数</param>
        /// <returns>LXSeaEntity实体类的List对象(信访工作来信季报表)</returns>
        public override List<LXSeaEntity> LXSeaList(QueryParam qp, out int RecordCount)
        {
            PopulateDelegate<LXSeaEntity> mypd = new PopulateDelegate<LXSeaEntity>(base.PopulateLXSeaEntity);
            return this.GetRecordList(mypd, qp, out RecordCount);
        }
        #endregion

        #region "LXYear (信访工作来信季报表) - SQLDataProvider"

        /// <summary>
        /// 新增/删除/修改 LXYear (信访工作来信季报表)
        /// </summary>
        /// <param name="fam">LXYearEntity实体类(信访工作来信季报表)</param>
        /// <returns>-1:存储过程执行失败,-2:存在相同的主键,Insert:返回插入自动ID,Update:返回更新记录数,Delete:返回删除记录数</returns>
        public override Int32 LXYearInsertUpdateDelete(LXYearEntity fam)
        {
            Int32 rInt = -1;
            using (SqlConnection Conn = GetSqlConnection())
            {
                SqlCommand cmd = new SqlCommand("dbo.LXYear_InsertUpdateDelete", Conn);
                cmd.CommandType = CommandType.StoredProcedure;
                //设置参数
                cmd.Parameters.Add("@DataTable_Action_", SqlDbType.VarChar).Value = fam.DataTable_Action_.ToString(); //操作方法 Insert:增加 Update:修改 Delete:删除

                cmd.Parameters.Add("@ID", SqlDbType.Int).Value = fam.ID;  //ID
                cmd.Parameters.Add("@tjYear", SqlDbType.Int).Value = fam.tjYear;  //tjYear
                cmd.Parameters.Add("@a1_1", SqlDbType.Int).Value = fam.a1_1;  //a1_1
                cmd.Parameters.Add("@a1_2", SqlDbType.Int).Value = fam.a1_2;  //a1_2
                cmd.Parameters.Add("@a1_3", SqlDbType.Float).Value = fam.a1_3;  //a1_3
                cmd.Parameters.Add("@a1_4", SqlDbType.Int).Value = fam.a1_4;  //a1_4
                cmd.Parameters.Add("@a1_5", SqlDbType.Int).Value = fam.a1_5;  //a1_5
                cmd.Parameters.Add("@a1_6", SqlDbType.Float).Value = fam.a1_6;  //a1_6
                cmd.Parameters.Add("@a1_7", SqlDbType.Int).Value = fam.a1_7;  //a1_7
                cmd.Parameters.Add("@a1_8", SqlDbType.Int).Value = fam.a1_8;  //a1_8
                cmd.Parameters.Add("@a1_9", SqlDbType.Float).Value = fam.a1_9;  //a1_9
                cmd.Parameters.Add("@a2_1", SqlDbType.Int).Value = fam.a2_1;  //a2_1
                cmd.Parameters.Add("@a2_2", SqlDbType.Int).Value = fam.a2_2;  //a2_2
                cmd.Parameters.Add("@a2_3", SqlDbType.Float).Value = fam.a2_3;  //a2_3
                cmd.Parameters.Add("@a2_4", SqlDbType.Int).Value = fam.a2_4;  //a2_4
                cmd.Parameters.Add("@a2_5", SqlDbType.Int).Value = fam.a2_5;  //a2_5
                cmd.Parameters.Add("@a2_6", SqlDbType.Float).Value = fam.a2_6;  //a2_6
                cmd.Parameters.Add("@a2_7", SqlDbType.Int).Value = fam.a2_7;  //a2_7
                cmd.Parameters.Add("@a2_8", SqlDbType.Int).Value = fam.a2_8;  //a2_8
                cmd.Parameters.Add("@a2_9", SqlDbType.Float).Value = fam.a2_9;  //a2_9
                cmd.Parameters.Add("@a3_1", SqlDbType.Int).Value = fam.a3_1;  //a3_1
                cmd.Parameters.Add("@a3_2", SqlDbType.Int).Value = fam.a3_2;  //a3_2
                cmd.Parameters.Add("@a3_3", SqlDbType.Float).Value = fam.a3_3;  //a3_3
                cmd.Parameters.Add("@a3_4", SqlDbType.Int).Value = fam.a3_4;  //a3_4
                cmd.Parameters.Add("@a3_5", SqlDbType.Int).Value = fam.a3_5;  //a3_5
                cmd.Parameters.Add("@a3_6", SqlDbType.Float).Value = fam.a3_6;  //a3_6
                cmd.Parameters.Add("@a3_7", SqlDbType.Int).Value = fam.a3_7;  //a3_7
                cmd.Parameters.Add("@a3_8", SqlDbType.Int).Value = fam.a3_8;  //a3_8
                cmd.Parameters.Add("@a3_9", SqlDbType.Float).Value = fam.a3_9;  //a3_9
                cmd.Parameters.Add("@a4_1", SqlDbType.Int).Value = fam.a4_1;  //a4_1
                cmd.Parameters.Add("@a4_2", SqlDbType.Int).Value = fam.a4_2;  //a4_2
                cmd.Parameters.Add("@a4_3", SqlDbType.Float).Value = fam.a4_3;  //a4_3
                cmd.Parameters.Add("@a4_4", SqlDbType.Int).Value = fam.a4_4;  //a4_4
                cmd.Parameters.Add("@a4_5", SqlDbType.Int).Value = fam.a4_5;  //a4_5
                cmd.Parameters.Add("@a4_6", SqlDbType.Float).Value = fam.a4_6;  //a4_6
                cmd.Parameters.Add("@a4_7", SqlDbType.Int).Value = fam.a4_7;  //a4_7
                cmd.Parameters.Add("@a4_8", SqlDbType.Int).Value = fam.a4_8;  //a4_8
                cmd.Parameters.Add("@a4_9", SqlDbType.Float).Value = fam.a4_9;  //a4_9
                cmd.Parameters.Add("@a5_1", SqlDbType.Int).Value = fam.a5_1;  //a5_1
                cmd.Parameters.Add("@a5_2", SqlDbType.Int).Value = fam.a5_2;  //a5_2
                cmd.Parameters.Add("@a5_3", SqlDbType.Float).Value = fam.a5_3;  //a5_3
                cmd.Parameters.Add("@a5_4", SqlDbType.Int).Value = fam.a5_4;  //a5_4
                cmd.Parameters.Add("@a5_5", SqlDbType.Int).Value = fam.a5_5;  //a5_5
                cmd.Parameters.Add("@a5_6", SqlDbType.Float).Value = fam.a5_6;  //a5_6
                cmd.Parameters.Add("@a5_7", SqlDbType.Int).Value = fam.a5_7;  //a5_7
                cmd.Parameters.Add("@a5_8", SqlDbType.Int).Value = fam.a5_8;  //a5_8
                cmd.Parameters.Add("@a5_9", SqlDbType.Float).Value = fam.a5_9;  //a5_9
                cmd.Parameters.Add("@a6_1", SqlDbType.Int).Value = fam.a6_1;  //a6_1
                cmd.Parameters.Add("@a6_2", SqlDbType.Int).Value = fam.a6_2;  //a6_2
                cmd.Parameters.Add("@a6_3", SqlDbType.Float).Value = fam.a6_3;  //a6_3
                cmd.Parameters.Add("@a6_4", SqlDbType.Int).Value = fam.a6_4;  //a6_4
                cmd.Parameters.Add("@a6_5", SqlDbType.Int).Value = fam.a6_5;  //a6_5
                cmd.Parameters.Add("@a6_6", SqlDbType.Float).Value = fam.a6_6;  //a6_6
                cmd.Parameters.Add("@a6_7", SqlDbType.Int).Value = fam.a6_7;  //a6_7
                cmd.Parameters.Add("@a6_8", SqlDbType.Int).Value = fam.a6_8;  //a6_8
                cmd.Parameters.Add("@a6_9", SqlDbType.Float).Value = fam.a6_9;  //a6_9
                cmd.Parameters.Add("@a7_1", SqlDbType.Int).Value = fam.a7_1;  //a7_1
                cmd.Parameters.Add("@a7_2", SqlDbType.Int).Value = fam.a7_2;  //a7_2
                cmd.Parameters.Add("@a7_3", SqlDbType.Float).Value = fam.a7_3;  //a7_3
                cmd.Parameters.Add("@a7_4", SqlDbType.Int).Value = fam.a7_4;  //a7_4
                cmd.Parameters.Add("@a7_5", SqlDbType.Int).Value = fam.a7_5;  //a7_5
                cmd.Parameters.Add("@a7_6", SqlDbType.Float).Value = fam.a7_6;  //a7_6
                cmd.Parameters.Add("@a7_7", SqlDbType.Int).Value = fam.a7_7;  //a7_7
                cmd.Parameters.Add("@a7_8", SqlDbType.Int).Value = fam.a7_8;  //a7_8
                cmd.Parameters.Add("@a7_9", SqlDbType.Float).Value = fam.a7_9;  //a7_9
                cmd.Parameters.Add("@a8_1", SqlDbType.Int).Value = fam.a8_1;  //a8_1
                cmd.Parameters.Add("@a8_2", SqlDbType.Int).Value = fam.a8_2;  //a8_2
                cmd.Parameters.Add("@a8_3", SqlDbType.Float).Value = fam.a8_3;  //a8_3
                cmd.Parameters.Add("@a8_4", SqlDbType.Int).Value = fam.a8_4;  //a8_4
                cmd.Parameters.Add("@a8_5", SqlDbType.Int).Value = fam.a8_5;  //a8_5
                cmd.Parameters.Add("@a8_6", SqlDbType.Float).Value = fam.a8_6;  //a8_6
                cmd.Parameters.Add("@a8_7", SqlDbType.Int).Value = fam.a8_7;  //a8_7
                cmd.Parameters.Add("@a8_8", SqlDbType.Int).Value = fam.a8_8;  //a8_8
                cmd.Parameters.Add("@a8_9", SqlDbType.Float).Value = fam.a8_9;  //a8_9
                cmd.Parameters.Add("@a9_1", SqlDbType.Int).Value = fam.a9_1;  //a9_1
                cmd.Parameters.Add("@a9_2", SqlDbType.Int).Value = fam.a9_2;  //a9_2
                cmd.Parameters.Add("@a9_3", SqlDbType.Float).Value = fam.a9_3;  //a9_3
                cmd.Parameters.Add("@a9_4", SqlDbType.Int).Value = fam.a9_4;  //a9_4
                cmd.Parameters.Add("@a9_5", SqlDbType.Int).Value = fam.a9_5;  //a9_5
                cmd.Parameters.Add("@a9_6", SqlDbType.Float).Value = fam.a9_6;  //a9_6
                cmd.Parameters.Add("@a9_7", SqlDbType.Int).Value = fam.a9_7;  //a9_7
                cmd.Parameters.Add("@a9_8", SqlDbType.Int).Value = fam.a9_8;  //a9_8
                cmd.Parameters.Add("@a9_9", SqlDbType.Float).Value = fam.a9_9;  //a9_9
                cmd.Parameters.Add("@a10_1", SqlDbType.Int).Value = fam.a10_1;  //a10_1
                cmd.Parameters.Add("@a10_2", SqlDbType.Int).Value = fam.a10_2;  //a10_2
                cmd.Parameters.Add("@a10_3", SqlDbType.Float).Value = fam.a10_3;  //a10_3
                cmd.Parameters.Add("@a10_4", SqlDbType.Int).Value = fam.a10_4;  //a10_4
                cmd.Parameters.Add("@a10_5", SqlDbType.Int).Value = fam.a10_5;  //a10_5
                cmd.Parameters.Add("@a10_6", SqlDbType.Float).Value = fam.a10_6;  //a10_6
                cmd.Parameters.Add("@a10_7", SqlDbType.Int).Value = fam.a10_7;  //a10_7
                cmd.Parameters.Add("@a10_8", SqlDbType.Int).Value = fam.a10_8;  //a10_8
                cmd.Parameters.Add("@a10_9", SqlDbType.Float).Value = fam.a10_9;  //a10_9
                cmd.Parameters.Add("@a11_1", SqlDbType.Int).Value = fam.a11_1;  //a11_1
                cmd.Parameters.Add("@a11_2", SqlDbType.Int).Value = fam.a11_2;  //a11_2
                cmd.Parameters.Add("@a11_3", SqlDbType.Float).Value = fam.a11_3;  //a11_3
                cmd.Parameters.Add("@a11_4", SqlDbType.Int).Value = fam.a11_4;  //a11_4
                cmd.Parameters.Add("@a11_5", SqlDbType.Int).Value = fam.a11_5;  //a11_5
                cmd.Parameters.Add("@a11_6", SqlDbType.Float).Value = fam.a11_6;  //a11_6
                cmd.Parameters.Add("@a11_7", SqlDbType.Int).Value = fam.a11_7;  //a11_7
                cmd.Parameters.Add("@a11_8", SqlDbType.Int).Value = fam.a11_8;  //a11_8
                cmd.Parameters.Add("@a11_9", SqlDbType.Float).Value = fam.a11_9;  //a11_9
                cmd.Parameters.Add("@a12_1", SqlDbType.Int).Value = fam.a12_1;  //a12_1
                cmd.Parameters.Add("@a12_2", SqlDbType.Int).Value = fam.a12_2;  //a12_2
                cmd.Parameters.Add("@a12_3", SqlDbType.Float).Value = fam.a12_3;  //a12_3
                cmd.Parameters.Add("@a12_4", SqlDbType.Int).Value = fam.a12_4;  //a12_4
                cmd.Parameters.Add("@a12_5", SqlDbType.Int).Value = fam.a12_5;  //a12_5
                cmd.Parameters.Add("@a12_6", SqlDbType.Float).Value = fam.a12_6;  //a12_6
                cmd.Parameters.Add("@a12_7", SqlDbType.Int).Value = fam.a12_7;  //a12_7
                cmd.Parameters.Add("@a12_8", SqlDbType.Int).Value = fam.a12_8;  //a12_8
                cmd.Parameters.Add("@a12_9", SqlDbType.Float).Value = fam.a12_9;  //a12_9
                cmd.Parameters.Add("@a13_1", SqlDbType.Int).Value = fam.a13_1;  //a13_1
                cmd.Parameters.Add("@a13_2", SqlDbType.Int).Value = fam.a13_2;  //a13_2
                cmd.Parameters.Add("@a13_3", SqlDbType.Float).Value = fam.a13_3;  //a13_3
                cmd.Parameters.Add("@a13_4", SqlDbType.Int).Value = fam.a13_4;  //a13_4
                cmd.Parameters.Add("@a13_5", SqlDbType.Int).Value = fam.a13_5;  //a13_5
                cmd.Parameters.Add("@a13_6", SqlDbType.Float).Value = fam.a13_6;  //a13_6
                cmd.Parameters.Add("@a13_7", SqlDbType.Int).Value = fam.a13_7;  //a13_7
                cmd.Parameters.Add("@a13_8", SqlDbType.Int).Value = fam.a13_8;  //a13_8
                cmd.Parameters.Add("@a13_9", SqlDbType.Float).Value = fam.a13_9;  //a13_9
                cmd.Parameters.Add("@a14_1", SqlDbType.Int).Value = fam.a14_1;  //a14_1
                cmd.Parameters.Add("@a14_2", SqlDbType.Int).Value = fam.a14_2;  //a14_2
                cmd.Parameters.Add("@a14_3", SqlDbType.Float).Value = fam.a14_3;  //a14_3
                cmd.Parameters.Add("@a14_4", SqlDbType.Int).Value = fam.a14_4;  //a14_4
                cmd.Parameters.Add("@a14_5", SqlDbType.Int).Value = fam.a14_5;  //a14_5
                cmd.Parameters.Add("@a14_6", SqlDbType.Float).Value = fam.a14_6;  //a14_6
                cmd.Parameters.Add("@a14_7", SqlDbType.Int).Value = fam.a14_7;  //a14_7
                cmd.Parameters.Add("@a14_8", SqlDbType.Int).Value = fam.a14_8;  //a14_8
                cmd.Parameters.Add("@a14_9", SqlDbType.Float).Value = fam.a14_9;  //a14_9
                cmd.Parameters.Add("@a15_1", SqlDbType.Int).Value = fam.a15_1;  //a15_1
                cmd.Parameters.Add("@a15_2", SqlDbType.Int).Value = fam.a15_2;  //a15_2
                cmd.Parameters.Add("@a15_3", SqlDbType.Float).Value = fam.a15_3;  //a15_3
                cmd.Parameters.Add("@a15_4", SqlDbType.Int).Value = fam.a15_4;  //a15_4
                cmd.Parameters.Add("@a15_5", SqlDbType.Int).Value = fam.a15_5;  //a15_5
                cmd.Parameters.Add("@a15_6", SqlDbType.Float).Value = fam.a15_6;  //a15_6
                cmd.Parameters.Add("@a15_7", SqlDbType.Int).Value = fam.a15_7;  //a15_7
                cmd.Parameters.Add("@a15_8", SqlDbType.Int).Value = fam.a15_8;  //a15_8
                cmd.Parameters.Add("@a15_9", SqlDbType.Float).Value = fam.a15_9;  //a15_9
                cmd.Parameters.Add("@a16_1", SqlDbType.Int).Value = fam.a16_1;  //a16_1
                cmd.Parameters.Add("@a16_2", SqlDbType.Int).Value = fam.a16_2;  //a16_2
                cmd.Parameters.Add("@a16_3", SqlDbType.Float).Value = fam.a16_3;  //a16_3
                cmd.Parameters.Add("@a16_4", SqlDbType.Int).Value = fam.a16_4;  //a16_4
                cmd.Parameters.Add("@a16_5", SqlDbType.Int).Value = fam.a16_5;  //a16_5
                cmd.Parameters.Add("@a16_6", SqlDbType.Float).Value = fam.a16_6;  //a16_6
                cmd.Parameters.Add("@a16_7", SqlDbType.Int).Value = fam.a16_7;  //a16_7
                cmd.Parameters.Add("@a16_8", SqlDbType.Int).Value = fam.a16_8;  //a16_8
                cmd.Parameters.Add("@a16_9", SqlDbType.Float).Value = fam.a16_9;  //a16_9
                cmd.Parameters.Add("@a17_1", SqlDbType.Int).Value = fam.a17_1;  //a17_1
                cmd.Parameters.Add("@a17_2", SqlDbType.Int).Value = fam.a17_2;  //a17_2
                cmd.Parameters.Add("@a17_3", SqlDbType.Float).Value = fam.a17_3;  //a17_3
                cmd.Parameters.Add("@a17_4", SqlDbType.Int).Value = fam.a17_4;  //a17_4
                cmd.Parameters.Add("@a17_5", SqlDbType.Int).Value = fam.a17_5;  //a17_5
                cmd.Parameters.Add("@a17_6", SqlDbType.Float).Value = fam.a17_6;  //a17_6
                cmd.Parameters.Add("@a17_7", SqlDbType.Int).Value = fam.a17_7;  //a17_7
                cmd.Parameters.Add("@a17_8", SqlDbType.Int).Value = fam.a17_8;  //a17_8
                cmd.Parameters.Add("@a17_9", SqlDbType.Float).Value = fam.a17_9;  //a17_9
                cmd.Parameters.Add("@a18_1", SqlDbType.Int).Value = fam.a18_1;  //a18_1
                cmd.Parameters.Add("@a18_2", SqlDbType.Int).Value = fam.a18_2;  //a18_2
                cmd.Parameters.Add("@a18_3", SqlDbType.Float).Value = fam.a18_3;  //a18_3
                cmd.Parameters.Add("@a18_4", SqlDbType.Int).Value = fam.a18_4;  //a18_4
                cmd.Parameters.Add("@a18_5", SqlDbType.Int).Value = fam.a18_5;  //a18_5
                cmd.Parameters.Add("@a18_6", SqlDbType.Float).Value = fam.a18_6;  //a18_6
                cmd.Parameters.Add("@a18_7", SqlDbType.Int).Value = fam.a18_7;  //a18_7
                cmd.Parameters.Add("@a18_8", SqlDbType.Int).Value = fam.a18_8;  //a18_8
                cmd.Parameters.Add("@a18_9", SqlDbType.Float).Value = fam.a18_9;  //a18_9
                cmd.Parameters.Add("@a19_1", SqlDbType.Int).Value = fam.a19_1;  //a19_1
                cmd.Parameters.Add("@a19_2", SqlDbType.Int).Value = fam.a19_2;  //a19_2
                cmd.Parameters.Add("@a19_3", SqlDbType.Float).Value = fam.a19_3;  //a19_3
                cmd.Parameters.Add("@a19_4", SqlDbType.Int).Value = fam.a19_4;  //a19_4
                cmd.Parameters.Add("@a19_5", SqlDbType.Int).Value = fam.a19_5;  //a19_5
                cmd.Parameters.Add("@a19_6", SqlDbType.Float).Value = fam.a19_6;  //a19_6
                cmd.Parameters.Add("@a19_7", SqlDbType.Int).Value = fam.a19_7;  //a19_7
                cmd.Parameters.Add("@a19_8", SqlDbType.Int).Value = fam.a19_8;  //a19_8
                cmd.Parameters.Add("@a19_9", SqlDbType.Float).Value = fam.a19_9;  //a19_9
                cmd.Parameters.Add("@a20_1", SqlDbType.Int).Value = fam.a20_1;  //a20_1
                cmd.Parameters.Add("@a20_2", SqlDbType.Int).Value = fam.a20_2;  //a20_2
                cmd.Parameters.Add("@a20_3", SqlDbType.Float).Value = fam.a20_3;  //a20_3
                cmd.Parameters.Add("@a20_4", SqlDbType.Int).Value = fam.a20_4;  //a20_4
                cmd.Parameters.Add("@a20_5", SqlDbType.Int).Value = fam.a20_5;  //a20_5
                cmd.Parameters.Add("@a20_6", SqlDbType.Float).Value = fam.a20_6;  //a20_6
                cmd.Parameters.Add("@a20_7", SqlDbType.Int).Value = fam.a20_7;  //a20_7
                cmd.Parameters.Add("@a20_8", SqlDbType.Int).Value = fam.a20_8;  //a20_8
                cmd.Parameters.Add("@a20_9", SqlDbType.Float).Value = fam.a20_9;  //a20_9
                cmd.Parameters.Add("@a21_1", SqlDbType.Int).Value = fam.a21_1;  //a21_1
                cmd.Parameters.Add("@a21_2", SqlDbType.Int).Value = fam.a21_2;  //a21_2
                cmd.Parameters.Add("@a21_3", SqlDbType.Float).Value = fam.a21_3;  //a21_3
                cmd.Parameters.Add("@a21_4", SqlDbType.Int).Value = fam.a21_4;  //a21_4
                cmd.Parameters.Add("@a21_5", SqlDbType.Int).Value = fam.a21_5;  //a21_5
                cmd.Parameters.Add("@a21_6", SqlDbType.Float).Value = fam.a21_6;  //a21_6
                cmd.Parameters.Add("@a21_7", SqlDbType.Int).Value = fam.a21_7;  //a21_7
                cmd.Parameters.Add("@a21_8", SqlDbType.Int).Value = fam.a21_8;  //a21_8
                cmd.Parameters.Add("@a21_9", SqlDbType.Float).Value = fam.a21_9;  //a21_9
                cmd.Parameters.Add("@dep", SqlDbType.VarChar).Value = fam.dep;  //dep
                cmd.Parameters.Add("@tj", SqlDbType.VarChar).Value = fam.tj;  //tj
                cmd.Parameters.Add("@phone", SqlDbType.VarChar).Value = fam.phone;  //phone
                cmd.Parameters.Add("@tjDep", SqlDbType.Int).Value = fam.tjDep;  //tjDep
                if (fam.tjtime.HasValue)
                    cmd.Parameters.Add("@tjtime", SqlDbType.DateTime).Value = fam.tjtime;  //tjtime
                else
                    cmd.Parameters.Add("@tjtime", SqlDbType.DateTime).Value = DBNull.Value;  //tjtime
                Conn.Open();
                rInt = Convert.ToInt32(cmd.ExecuteScalar());
                cmd.Dispose();
                Conn.Dispose();
                Conn.Close();
            }
            return rInt;
        }

        /// <summary>
        /// 返回LXYearEntity实体类的List对象 (信访工作来信季报表)
        /// </summary>
        /// <param name="qp">查询类(非安全函数,传入参数请进行Sql字符串过滤)</param>
        /// <param name="RecordCount">返回记录总数</param>
        /// <returns>LXYearEntity实体类的List对象(信访工作来信季报表)</returns>
        public override List<LXYearEntity> LXYearList(QueryParam qp, out int RecordCount)
        {
            PopulateDelegate<LXYearEntity> mypd = new PopulateDelegate<LXYearEntity>(base.PopulateLXYearEntity);
            return this.GetRecordList(mypd, qp, out RecordCount);
        }
        #endregion

        #region "Mao (矛盾纠纷统计) - SQLDataProvider"

        /// <summary>
        /// 新增/删除/修改 Mao (矛盾纠纷统计)
        /// </summary>
        /// <param name="fam">MaoEntity实体类(矛盾纠纷统计)</param>
        /// <returns>-1:存储过程执行失败,-2:存在相同的主键,Insert:返回插入自动ID,Update:返回更新记录数,Delete:返回删除记录数</returns>
        public override Int32 MaoInsertUpdateDelete(MaoEntity fam)
        {
            Int32 rInt = -1;
            using (SqlConnection Conn = GetSqlConnection())
            {
                SqlCommand cmd = new SqlCommand("dbo.Mao_InsertUpdateDelete", Conn);
                cmd.CommandType = CommandType.StoredProcedure;
                //设置参数
                cmd.Parameters.Add("@DataTable_Action_", SqlDbType.VarChar).Value = fam.DataTable_Action_.ToString(); //操作方法 Insert:增加 Update:修改 Delete:删除

                cmd.Parameters.Add("@ID", SqlDbType.Int).Value = fam.ID;  //ID
                cmd.Parameters.Add("@tjYear", SqlDbType.Int).Value = fam.tjYear;  //tjYear
                cmd.Parameters.Add("@tjSea", SqlDbType.Int).Value = fam.tjSea;  //tjSea
                cmd.Parameters.Add("@a11", SqlDbType.Int).Value = fam.a11;  //a11
                cmd.Parameters.Add("@a12", SqlDbType.Int).Value = fam.a12;  //a12
                cmd.Parameters.Add("@a21", SqlDbType.Int).Value = fam.a21;  //a21
                cmd.Parameters.Add("@a22", SqlDbType.Int).Value = fam.a22;  //a22
                cmd.Parameters.Add("@a31", SqlDbType.Int).Value = fam.a31;  //a31
                cmd.Parameters.Add("@a32", SqlDbType.Int).Value = fam.a32;  //a32
                cmd.Parameters.Add("@a41", SqlDbType.Int).Value = fam.a41;  //a41
                cmd.Parameters.Add("@a42", SqlDbType.Int).Value = fam.a42;  //a42
                cmd.Parameters.Add("@a51", SqlDbType.Int).Value = fam.a51;  //a51
                cmd.Parameters.Add("@a52", SqlDbType.Int).Value = fam.a52;  //a52
                cmd.Parameters.Add("@a61", SqlDbType.Int).Value = fam.a61;  //a61
                cmd.Parameters.Add("@a62", SqlDbType.Int).Value = fam.a62;  //a62
                cmd.Parameters.Add("@a71", SqlDbType.Int).Value = fam.a71;  //a71
                cmd.Parameters.Add("@a72", SqlDbType.Int).Value = fam.a72;  //a72
                cmd.Parameters.Add("@a81", SqlDbType.Int).Value = fam.a81;  //a81
                cmd.Parameters.Add("@a82", SqlDbType.Int).Value = fam.a82;  //a82
                cmd.Parameters.Add("@a91", SqlDbType.Int).Value = fam.a91;  //a91
                cmd.Parameters.Add("@a92", SqlDbType.Int).Value = fam.a92;  //a92
                cmd.Parameters.Add("@a101", SqlDbType.Int).Value = fam.a101;  //a101
                cmd.Parameters.Add("@a102", SqlDbType.Int).Value = fam.a102;  //a102
                cmd.Parameters.Add("@a111", SqlDbType.Int).Value = fam.a111;  //a111
                cmd.Parameters.Add("@a112", SqlDbType.Int).Value = fam.a112;  //a112
                cmd.Parameters.Add("@a121", SqlDbType.Int).Value = fam.a121;  //a121
                cmd.Parameters.Add("@a122", SqlDbType.Int).Value = fam.a122;  //a122
                cmd.Parameters.Add("@a131", SqlDbType.Int).Value = fam.a131;  //a131
                cmd.Parameters.Add("@a132", SqlDbType.Int).Value = fam.a132;  //a132
                cmd.Parameters.Add("@a133", SqlDbType.Int).Value = fam.a133;  //a133
                cmd.Parameters.Add("@a141", SqlDbType.Int).Value = fam.a141;  //a141
                cmd.Parameters.Add("@a142", SqlDbType.Int).Value = fam.a142;  //a142
                cmd.Parameters.Add("@a15", SqlDbType.Int).Value = fam.a15;  //a15
                cmd.Parameters.Add("@a16", SqlDbType.Int).Value = fam.a16;  //a16
                cmd.Parameters.Add("@beizhu", SqlDbType.VarChar).Value = fam.beizhu;  //beizhu
                cmd.Parameters.Add("@tjDep", SqlDbType.Int).Value = fam.tjDep;  //tjDep
                if (fam.AddDate.HasValue)
                    cmd.Parameters.Add("@AddDate", SqlDbType.DateTime).Value = fam.AddDate;  //AddDate
                else
                    cmd.Parameters.Add("@AddDate", SqlDbType.DateTime).Value = DBNull.Value;  //AddDate
                Conn.Open();
                rInt = Convert.ToInt32(cmd.ExecuteScalar());
                cmd.Dispose();
                Conn.Dispose();
                Conn.Close();
            }
            return rInt;
        }

        /// <summary>
        /// 返回MaoEntity实体类的List对象 (矛盾纠纷统计)
        /// </summary>
        /// <param name="qp">查询类(非安全函数,传入参数请进行Sql字符串过滤)</param>
        /// <param name="RecordCount">返回记录总数</param>
        /// <returns>MaoEntity实体类的List对象(矛盾纠纷统计)</returns>
        public override List<MaoEntity> MaoList(QueryParam qp, out int RecordCount)
        {
            PopulateDelegate<MaoEntity> mypd = new PopulateDelegate<MaoEntity>(base.PopulateMaoEntity);
            return this.GetRecordList(mypd, qp, out RecordCount);
        }
        #endregion

        #region "TA (提案办理情况 ) - SQLDataProvider"

        /// <summary>
        /// 新增/删除/修改 TA (提案办理情况 )
        /// </summary>
        /// <param name="fam">TAEntity实体类(提案办理情况 )</param>
        /// <returns>-1:存储过程执行失败,-2:存在相同的主键,Insert:返回插入自动ID,Update:返回更新记录数,Delete:返回删除记录数</returns>
        public override Int32 TAInsertUpdateDelete(TAEntity fam)
        {
            Int32 rInt = -1;
            using (SqlConnection Conn = GetSqlConnection())
            {
                SqlCommand cmd = new SqlCommand("dbo.TA_InsertUpdateDelete", Conn);
                cmd.CommandType = CommandType.StoredProcedure;
                //设置参数
                cmd.Parameters.Add("@DataTable_Action_", SqlDbType.VarChar).Value = fam.DataTable_Action_.ToString(); //操作方法 Insert:增加 Update:修改 Delete:删除

                cmd.Parameters.Add("@ID", SqlDbType.Int).Value = fam.ID;  //ID
                cmd.Parameters.Add("@a11", SqlDbType.Int).Value = fam.a11;  //a11
                cmd.Parameters.Add("@a12", SqlDbType.Int).Value = fam.a12;  //a12
                cmd.Parameters.Add("@a21", SqlDbType.Int).Value = fam.a21;  //a21
                cmd.Parameters.Add("@a22", SqlDbType.Int).Value = fam.a22;  //a22
                cmd.Parameters.Add("@a31", SqlDbType.Int).Value = fam.a31;  //a31
                cmd.Parameters.Add("@a32", SqlDbType.Int).Value = fam.a32;  //a32
                cmd.Parameters.Add("@b11", SqlDbType.Int).Value = fam.b11;  //b11
                cmd.Parameters.Add("@b12", SqlDbType.Int).Value = fam.b12;  //b12
                cmd.Parameters.Add("@b21", SqlDbType.Int).Value = fam.b21;  //b21
                cmd.Parameters.Add("@b22", SqlDbType.Int).Value = fam.b22;  //b22
                cmd.Parameters.Add("@b31", SqlDbType.Int).Value = fam.b31;  //b31
                cmd.Parameters.Add("@b32", SqlDbType.Int).Value = fam.b32;  //b32
                cmd.Parameters.Add("@c11", SqlDbType.Int).Value = fam.c11;  //c11
                cmd.Parameters.Add("@c12", SqlDbType.Int).Value = fam.c12;  //c12
                cmd.Parameters.Add("@c21", SqlDbType.Int).Value = fam.c21;  //c21
                cmd.Parameters.Add("@c22", SqlDbType.Int).Value = fam.c22;  //c22
                cmd.Parameters.Add("@c31", SqlDbType.Int).Value = fam.c31;  //c31
                cmd.Parameters.Add("@c32", SqlDbType.Int).Value = fam.c32;  //c32
                cmd.Parameters.Add("@d11", SqlDbType.Int).Value = fam.d11;  //d11
                cmd.Parameters.Add("@d12", SqlDbType.Int).Value = fam.d12;  //d12
                cmd.Parameters.Add("@d21", SqlDbType.Int).Value = fam.d21;  //d21
                cmd.Parameters.Add("@d22", SqlDbType.Int).Value = fam.d22;  //d22
                cmd.Parameters.Add("@d31", SqlDbType.Int).Value = fam.d31;  //d31
                cmd.Parameters.Add("@d32", SqlDbType.Int).Value = fam.d32;  //d32
                cmd.Parameters.Add("@d41", SqlDbType.Int).Value = fam.d41;  //d41
                cmd.Parameters.Add("@d42", SqlDbType.Int).Value = fam.d42;  //d42
                cmd.Parameters.Add("@d51", SqlDbType.Int).Value = fam.d51;  //d51
                cmd.Parameters.Add("@d52", SqlDbType.Int).Value = fam.d52;  //d52
                cmd.Parameters.Add("@e11", SqlDbType.Int).Value = fam.e11;  //e11
                cmd.Parameters.Add("@e12", SqlDbType.Int).Value = fam.e12;  //e12
                cmd.Parameters.Add("@e21", SqlDbType.Int).Value = fam.e21;  //e21
                cmd.Parameters.Add("@e22", SqlDbType.Int).Value = fam.e22;  //e22
                cmd.Parameters.Add("@e31", SqlDbType.Int).Value = fam.e31;  //e31
                cmd.Parameters.Add("@e32", SqlDbType.Int).Value = fam.e32;  //e32
                cmd.Parameters.Add("@f11", SqlDbType.Int).Value = fam.f11;  //f11
                cmd.Parameters.Add("@f12", SqlDbType.Int).Value = fam.f12;  //f12
                cmd.Parameters.Add("@j11", SqlDbType.Int).Value = fam.j11;  //j11
                cmd.Parameters.Add("@j12", SqlDbType.Int).Value = fam.j12;  //j12
                cmd.Parameters.Add("@h11", SqlDbType.Int).Value = fam.h11;  //h11
                cmd.Parameters.Add("@h12", SqlDbType.Int).Value = fam.h12;  //h12
                cmd.Parameters.Add("@h21", SqlDbType.Int).Value = fam.h21;  //h21
                cmd.Parameters.Add("@h22", SqlDbType.Int).Value = fam.h22;  //h22
                cmd.Parameters.Add("@dep", SqlDbType.VarChar).Value = fam.dep;  //dep
                cmd.Parameters.Add("@zhuguan", SqlDbType.VarChar).Value = fam.zhuguan;  //zhuguan
                cmd.Parameters.Add("@tj", SqlDbType.VarChar).Value = fam.tj;  //tj
                cmd.Parameters.Add("@tjdep", SqlDbType.VarChar).Value = fam.tjdep;  //tjdep
                if (fam.tjtime.HasValue)
                    cmd.Parameters.Add("@tjtime", SqlDbType.DateTime).Value = fam.tjtime;  //tjtime
                else
                    cmd.Parameters.Add("@tjtime", SqlDbType.DateTime).Value = DBNull.Value;  //tjtime
                Conn.Open();
                rInt = Convert.ToInt32(cmd.ExecuteScalar());
                cmd.Dispose();
                Conn.Dispose();
                Conn.Close();
            }
            return rInt;
        }

        /// <summary>
        /// 返回TAEntity实体类的List对象 (提案办理情况 )
        /// </summary>
        /// <param name="qp">查询类(非安全函数,传入参数请进行Sql字符串过滤)</param>
        /// <param name="RecordCount">返回记录总数</param>
        /// <returns>TAEntity实体类的List对象(提案办理情况 )</returns>
        public override List<TAEntity> TAList(QueryParam qp, out int RecordCount)
        {
            PopulateDelegate<TAEntity> mypd = new PopulateDelegate<TAEntity>(base.PopulateTAEntity);
            return this.GetRecordList(mypd, qp, out RecordCount);
        }
        #endregion


        #region "XF (环境信访数据统计) - SQLDataProvider"

        /// <summary>
        /// 新增/删除/修改 XF (环境信访数据统计)
        /// </summary>
        /// <param name="fam">XFEntity实体类(环境信访数据统计)</param>
        /// <returns>-1:存储过程执行失败,-2:存在相同的主键,Insert:返回插入自动ID,Update:返回更新记录数,Delete:返回删除记录数</returns>
        public override Int32 XFInsertUpdateDelete(XFEntity fam)
        {
            Int32 rInt = -1;
            using (SqlConnection Conn = GetSqlConnection())
            {
                SqlCommand cmd = new SqlCommand("dbo.XF_InsertUpdateDelete", Conn);
                cmd.CommandType = CommandType.StoredProcedure;
                //设置参数
                cmd.Parameters.Add("@DataTable_Action_", SqlDbType.VarChar).Value = fam.DataTable_Action_.ToString(); //操作方法 Insert:增加 Update:修改 Delete:删除

                cmd.Parameters.Add("@ID", SqlDbType.Int).Value = fam.ID;  //ID
                cmd.Parameters.Add("@tjYear", SqlDbType.Int).Value = fam.tjYear;  //tjYear
                cmd.Parameters.Add("@tjMonth", SqlDbType.Int).Value = fam.tjMonth;  //tjMonth
                cmd.Parameters.Add("@a1", SqlDbType.Int).Value = fam.a1;  //a1
                cmd.Parameters.Add("@a2", SqlDbType.Int).Value = fam.a2;  //a2
                cmd.Parameters.Add("@a3", SqlDbType.Int).Value = fam.a3;  //a3
                cmd.Parameters.Add("@a4", SqlDbType.Int).Value = fam.a4;  //a4
                cmd.Parameters.Add("@a5", SqlDbType.Int).Value = fam.a5;  //a5
                cmd.Parameters.Add("@a6", SqlDbType.Int).Value = fam.a6;  //a6
                cmd.Parameters.Add("@a7", SqlDbType.Int).Value = fam.a7;  //a7
                cmd.Parameters.Add("@a8", SqlDbType.Int).Value = fam.a8;  //a8
                cmd.Parameters.Add("@a9", SqlDbType.Int).Value = fam.a9;  //a9
                cmd.Parameters.Add("@a10", SqlDbType.Int).Value = fam.a10;  //a10
                cmd.Parameters.Add("@a11", SqlDbType.Int).Value = fam.a11;  //a11
                cmd.Parameters.Add("@a12", SqlDbType.Int).Value = fam.a12;  //a12
                cmd.Parameters.Add("@tbr", SqlDbType.VarChar).Value = fam.tbr;  //tbr
                cmd.Parameters.Add("@phone", SqlDbType.VarChar).Value = fam.phone;  //phone
                cmd.Parameters.Add("@tjdep", SqlDbType.Int).Value = fam.tjdep;  //tjdep
                if (fam.tjTime.HasValue)
                    cmd.Parameters.Add("@tjTime", SqlDbType.DateTime).Value = fam.tjTime;  //tjTime
                else
                    cmd.Parameters.Add("@tjTime", SqlDbType.DateTime).Value = DBNull.Value;  //tjTime
                Conn.Open();
                rInt = Convert.ToInt32(cmd.ExecuteScalar());
                cmd.Dispose();
                Conn.Dispose();
                Conn.Close();
            }
            return rInt;
        }

        /// <summary>
        /// 返回XFEntity实体类的List对象 (环境信访数据统计)
        /// </summary>
        /// <param name="qp">查询类(非安全函数,传入参数请进行Sql字符串过滤)</param>
        /// <param name="RecordCount">返回记录总数</param>
        /// <returns>XFEntity实体类的List对象(环境信访数据统计)</returns>
        public override List<XFEntity> XFList(QueryParam qp, out int RecordCount)
        {
            PopulateDelegate<XFEntity> mypd = new PopulateDelegate<XFEntity>(base.PopulateXFEntity);
            return this.GetRecordList(mypd, qp, out RecordCount);
        }
        #endregion 

        #region "T_TouSu (**办理) - SQLDataProvider"

        /// <summary>
        /// 新增/删除/修改 T_TouSu (**办理)
        /// </summary>
        /// <param name="fam">T_TouSuEntity实体类(**办理)</param>
        /// <returns>-1:存储过程执行失败,-2:存在相同的主键,Insert:返回插入自动ID,Update:返回更新记录数,Delete:返回删除记录数</returns>
        public override Int32 T_TouSuInsertUpdateDelete(T_TouSuEntity fam)
        {
            Int32 rInt = -1;
            using (SqlConnection Conn = GetSqlConnection())
            {
                SqlCommand cmd = new SqlCommand("dbo.T_TouSu_InsertUpdateDelete", Conn);
                cmd.CommandType = CommandType.StoredProcedure;
                //设置参数
                cmd.Parameters.Add("@DataTable_Action_", SqlDbType.VarChar).Value = fam.DataTable_Action_.ToString(); //操作方法 Insert:增加 Update:修改 Delete:删除

                cmd.Parameters.Add("@ID", SqlDbType.Int).Value = fam.ID;  //ID
                cmd.Parameters.Add("@Type", SqlDbType.Char).Value = fam.Type;  //类型
                cmd.Parameters.Add("@TID", SqlDbType.VarChar).Value = fam.TID;  //编号
                cmd.Parameters.Add("@ALaiyuan", SqlDbType.VarChar).Value = fam.ALaiyuan;  //来源
                cmd.Parameters.Add("@AzhuanbanID", SqlDbType.VarChar).Value = fam.AzhuanbanID;  //收到转办单编号
                if (fam.AzhuanfangTime.HasValue)
                    cmd.Parameters.Add("@AzhuanfangTime", SqlDbType.DateTime).Value = fam.AzhuanfangTime;  //收到转办单时间
                else
                    cmd.Parameters.Add("@AzhuanfangTime", SqlDbType.DateTime).Value = DBNull.Value;  //收到转办单时间
                cmd.Parameters.Add("@ALiFangname", SqlDbType.VarChar).Value = fam.ALiFangname;  //姓名
                if (fam.ALaifangTime.HasValue)
                    cmd.Parameters.Add("@ALaifangTime", SqlDbType.DateTime).Value = fam.ALaifangTime;  //时间
                else
                    cmd.Parameters.Add("@ALaifangTime", SqlDbType.DateTime).Value = DBNull.Value;  //时间
                cmd.Parameters.Add("@AID", SqlDbType.VarChar).Value = fam.AID;  //身份证号码或其他证件号
                cmd.Parameters.Add("@APhone", SqlDbType.VarChar).Value = fam.APhone;  // 联系电话
                cmd.Parameters.Add("@AlaifangGroup", SqlDbType.VarChar).Value = fam.AlaifangGroup;  //来访单位
                cmd.Parameters.Add("@Alaifangzhuzhi", SqlDbType.VarChar).Value = fam.Alaifangzhuzhi;  //来访人住址
                cmd.Parameters.Add("@Alaifangpostcode", SqlDbType.VarChar).Value = fam.Alaifangpostcode;  //  来访人单位或住址邮政编码
                cmd.Parameters.Add("@Abeitousudanw", SqlDbType.VarChar).Value = fam.Abeitousudanw;  //被投诉单位地址
                cmd.Parameters.Add("@AbeitousuName", SqlDbType.VarChar).Value = fam.AbeitousuName;  //被投诉单位名称以及法人代表
                cmd.Parameters.Add("@Afanyingwenti", SqlDbType.VarChar).Value = fam.Afanyingwenti;  //反映的主要污染问题是什么？水、气、噪声、振动、电磁辐射污染还是赔偿？
                if (fam.AdiyiciTime.HasValue)
                    cmd.Parameters.Add("@AdiyiciTime", SqlDbType.DateTime).Value = fam.AdiyiciTime;  //第一次污染问题发生时间
                else
                    cmd.Parameters.Add("@AdiyiciTime", SqlDbType.DateTime).Value = DBNull.Value;  //第一次污染问题发生时间
                cmd.Parameters.Add("@Asunshi", SqlDbType.VarChar).Value = fam.Asunshi;  //损失情况
                cmd.Parameters.Add("@Azhinengbumen", SqlDbType.VarChar).Value = fam.Azhinengbumen;  //哪个职能部门做的损失鉴定
                cmd.Parameters.Add("@ATimeAndGroup", SqlDbType.VarChar).Value = fam.ATimeAndGroup;  //第一次、在什么时间，向哪个环保部门反映的
                if (fam.AfanyingTime.HasValue)
                    cmd.Parameters.Add("@AfanyingTime", SqlDbType.DateTime).Value = fam.AfanyingTime;  //反映的时间
                else
                    cmd.Parameters.Add("@AfanyingTime", SqlDbType.DateTime).Value = DBNull.Value;  //反映的时间
                cmd.Parameters.Add("@Achuliqingkuang", SqlDbType.VarChar).Value = fam.Achuliqingkuang;  //县（区、市）处理答复情况
                cmd.Parameters.Add("@ADafu", SqlDbType.VarChar).Value = fam.ADafu;  //是否给答复意见书？答复意见书的内容
                cmd.Parameters.Add("@AShenqingfucha", SqlDbType.VarChar).Value = fam.AShenqingfucha;  //是否向市环保部门反映（申请复查                         
                if (fam.AfuchaTime.HasValue)
                    cmd.Parameters.Add("@AfuchaTime", SqlDbType.DateTime).Value = fam.AfuchaTime;  // 申请复查时间
                else
                    cmd.Parameters.Add("@AfuchaTime", SqlDbType.DateTime).Value = DBNull.Value;  // 申请复查时间
                cmd.Parameters.Add("@AShiyijian", SqlDbType.VarChar).Value = fam.AShiyijian;  //市环保部门的答复和处理意见（复查意见）：

                cmd.Parameters.Add("@Axinfangbanyijian", SqlDbType.VarChar).Value = fam.Axinfangbanyijian;  //信访办受理意见
                cmd.Parameters.Add("@AlingdaoYijian", SqlDbType.VarChar).Value = fam.AlingdaoYijian;  //领导批示意见
                cmd.Parameters.Add("@Azhuanchu", SqlDbType.VarChar).Value = fam.Azhuanchu;  //转出去向
                if (fam.AzhuanchuTime.HasValue)
                    cmd.Parameters.Add("@AzhuanchuTime", SqlDbType.DateTime).Value = fam.AzhuanchuTime;  //  转出时间
                else
                    cmd.Parameters.Add("@AzhuanchuTime", SqlDbType.DateTime).Value = DBNull.Value;  //  转出时间
                cmd.Parameters.Add("@AyaoqiuTime", SqlDbType.VarChar).Value = fam.AyaoqiuTime;  //要求办结上报时间
                cmd.Parameters.Add("@Ajieguo", SqlDbType.VarChar).Value = fam.Ajieguo;  //办理结果
                cmd.Parameters.Add("@Ajiluren", SqlDbType.VarChar).Value = fam.Ajiluren;  //记录人
                if (fam.AjilushiTime.HasValue)
                    cmd.Parameters.Add("@AjilushiTime", SqlDbType.DateTime).Value = fam.AjilushiTime;  //记录时间
                else
                    cmd.Parameters.Add("@AjilushiTime", SqlDbType.DateTime).Value = DBNull.Value;  //记录时间
                cmd.Parameters.Add("@Afujian", SqlDbType.VarChar).Value = fam.Afujian;  //附件
                cmd.Parameters.Add("@BWentiType", SqlDbType.VarChar).Value = fam.BWentiType;  //反映问题类型
                cmd.Parameters.Add("@BXianCon", SqlDbType.VarChar).Value = fam.BXianCon;  //县区办理结果
                cmd.Parameters.Add("@BXinfang", SqlDbType.VarChar).Value = fam.BXinfang;  //信访办受理意见
                cmd.Parameters.Add("@BLingdao", SqlDbType.VarChar).Value = fam.BLingdao;  //领导批示意见
                cmd.Parameters.Add("@BSumDay", SqlDbType.VarChar).Value = fam.BSumDay;  //要求办结上报时间
                if (fam.BEndDate.HasValue)
                    cmd.Parameters.Add("@BEndDate", SqlDbType.DateTime).Value = fam.BEndDate;  //要求时间
                else
                    cmd.Parameters.Add("@BEndDate", SqlDbType.DateTime).Value = DBNull.Value;  //要求时间
                cmd.Parameters.Add("@BChuliGroup", SqlDbType.Int).Value = fam.BChuliGroup;  //处理单位
                cmd.Parameters.Add("@BChaoSong", SqlDbType.VarChar).Value = fam.BChaoSong;  //抄送单位
                cmd.Parameters.Add("@BXieban", SqlDbType.VarChar).Value = fam.BXieban;  //协办单位
                cmd.Parameters.Add("@BIF", SqlDbType.VarChar).Value = fam.BIF;  //是否办结
                if (fam.BChuliDate.HasValue)
                    cmd.Parameters.Add("@BChuliDate", SqlDbType.DateTime).Value = fam.BChuliDate;  //处理时间
                else
                    cmd.Parameters.Add("@BChuliDate", SqlDbType.DateTime).Value = DBNull.Value;  //处理时间
                cmd.Parameters.Add("@zhuangtai", SqlDbType.VarChar).Value = fam.zhuangtai;  //办理状态
                cmd.Parameters.Add("@toLingDao", SqlDbType.Int).Value = fam.toLingDao;  //toLingDao
                Conn.Open();
                rInt = Convert.ToInt32(cmd.ExecuteScalar());
                cmd.Dispose();
                Conn.Dispose();
                Conn.Close();
            }
            return rInt;
        }

        /// <summary>
        /// 返回T_TouSuEntity实体类的List对象 (**办理)
        /// </summary>
        /// <param name="qp">查询类(非安全函数,传入参数请进行Sql字符串过滤)</param>
        /// <param name="RecordCount">返回记录总数</param>
        /// <returns>T_TouSuEntity实体类的List对象(**办理)</returns>
        public override List<T_TouSuEntity> T_TouSuList(QueryParam qp, out int RecordCount)
        {
            PopulateDelegate<T_TouSuEntity> mypd = new PopulateDelegate<T_TouSuEntity>(base.PopulateT_TouSuEntity);
            return this.GetRecordList(mypd, qp, out RecordCount);
        }
        #endregion

        #region "T_Web (网上投诉) - SQLDataProvider"
 
        /// <summary>
        /// 新增/删除/修改 T_Web (网上投诉)
        /// </summary>
        /// <param name="fam">T_WebEntity实体类(网上投诉)</param>
        /// <returns>-1:存储过程执行失败,-2:存在相同的主键,Insert:返回插入自动ID,Update:返回更新记录数,Delete:返回删除记录数</returns>
        public override Int32 T_WebInsertUpdateDelete(T_WebEntity fam)
        {
            Int32 rInt = -1;
            using (SqlConnection Conn = GetSqlConnection())
            {
                SqlCommand cmd = new SqlCommand("dbo.T_Web_InsertUpdateDelete", Conn);
                cmd.CommandType = CommandType.StoredProcedure;
                //设置参数
                cmd.Parameters.Add("@DataTable_Action_", SqlDbType.VarChar).Value = fam.DataTable_Action_.ToString(); //操作方法 Insert:增加 Update:修改 Delete:删除
                
                cmd.Parameters.Add("@ID", SqlDbType.Int).Value = fam.ID;  //ID
                cmd.Parameters.Add("@TID", SqlDbType.VarChar).Value = fam.TID;  //投诉编号
                cmd.Parameters.Add("@TPassword", SqlDbType.VarChar).Value = fam.TPassword;  //密码
                cmd.Parameters.Add("@TName", SqlDbType.VarChar).Value = fam.TName;  //投诉人姓名
                cmd.Parameters.Add("@TNo", SqlDbType.VarChar).Value = fam.TNo;  //投诉人证件号码
                cmd.Parameters.Add("@TPhone", SqlDbType.VarChar).Value = fam.TPhone;  //联系电话
                cmd.Parameters.Add("@TGroup", SqlDbType.VarChar).Value = fam.TGroup;  //投诉人单位或住址
                cmd.Parameters.Add("@TBGName", SqlDbType.VarChar).Value = fam.TBGName;  //被投诉单位名称
                cmd.Parameters.Add("@TBAddress", SqlDbType.VarChar).Value = fam.TBAddress;  //被投诉单位地址
                cmd.Parameters.Add("@TTtle", SqlDbType.VarChar).Value = fam.TTtle;  //投诉标题
                cmd.Parameters.Add("@TContent", SqlDbType.VarChar).Value = fam.TContent;  //投诉内容
                if (fam.TTime.HasValue)
                    cmd.Parameters.Add("@TTime", SqlDbType.DateTime).Value = fam.TTime;  //投诉时间
                else
                    cmd.Parameters.Add("@TTime", SqlDbType.DateTime).Value = DBNull.Value;  //投诉时间
                cmd.Parameters.Add("@XType", SqlDbType.VarChar).Value = fam.XType;  //反映问题类型
                cmd.Parameters.Add("@XXian", SqlDbType.VarChar).Value = fam.XXian;  //县区或科室办理结果
                cmd.Parameters.Add("@XShi", SqlDbType.VarChar).Value = fam.XShi;  //信访办受理意见
                cmd.Parameters.Add("@XLingDao", SqlDbType.VarChar).Value = fam.XLingDao;  //领导批示意见
                cmd.Parameters.Add("@XSumDay", SqlDbType.Int).Value = fam.XSumDay;  //要求办结上报时间
                if (fam.XEndDate.HasValue)
                    cmd.Parameters.Add("@XEndDate", SqlDbType.DateTime).Value = fam.XEndDate;  //时间至
                else
                    cmd.Parameters.Add("@XEndDate", SqlDbType.DateTime).Value = DBNull.Value;  //时间至
                cmd.Parameters.Add("@XCLDW", SqlDbType.Int).Value = fam.XCLDW;  //处理单位
                cmd.Parameters.Add("@XCSDW", SqlDbType.VarChar).Value = fam.XCSDW;  //XCSDW
                cmd.Parameters.Add("@XXieBan", SqlDbType.VarChar).Value = fam.XXieBan;  //协办单位
                cmd.Parameters.Add("@XIF", SqlDbType.VarChar).Value = fam.XIF;  //是否办结
                cmd.Parameters.Add("@Pevel", SqlDbType.Int).Value = fam.Pevel;  //满意度
                cmd.Parameters.Add("@PContent", SqlDbType.VarChar).Value = fam.PContent;  //评议内容
                if (fam.PTime.HasValue)
                    cmd.Parameters.Add("@PTime", SqlDbType.DateTime).Value = fam.PTime;  //评议时间
                else
                    cmd.Parameters.Add("@PTime", SqlDbType.DateTime).Value = DBNull.Value;  //评议时间
                if (fam.XTime.HasValue)
                    cmd.Parameters.Add("@XTime", SqlDbType.DateTime).Value = fam.XTime;  //批示时间
                else
                    cmd.Parameters.Add("@XTime", SqlDbType.DateTime).Value = DBNull.Value;  //批示时间
                cmd.Parameters.Add("@zhuangtai", SqlDbType.VarChar).Value = fam.zhuangtai;  //状态
                cmd.Parameters.Add("@toLingDao", SqlDbType.Int).Value = fam.toLingDao;  //toLingDao
                Conn.Open();
                rInt = Convert.ToInt32(cmd.ExecuteScalar());
                cmd.Dispose();
                Conn.Dispose();
                Conn.Close();
            }
            return rInt;
        }

        /// <summary>
        /// 返回T_WebEntity实体类的List对象 (网上投诉)
        /// </summary>
        /// <param name="qp">查询类(非安全函数,传入参数请进行Sql字符串过滤)</param>
        /// <param name="RecordCount">返回记录总数</param>
        /// <returns>T_WebEntity实体类的List对象(网上投诉)</returns>
        public override List<T_WebEntity> T_WebList(QueryParam qp, out int RecordCount)
        {
            PopulateDelegate<T_WebEntity> mypd = new PopulateDelegate<T_WebEntity>(base.PopulateT_WebEntity);
            return this.GetRecordList(mypd, qp, out RecordCount);
        }
        #endregion

        #region "获取表中字段值"
        /// <summary>
        /// 获取表中字段值(非安全函数,传入参数请进行Sql字符串过滤)
        /// </summary>
        /// <param name="table_name">表名</param>
        /// <param name="table_fileds">字段</param>
        /// <param name="where_fileds">查询条件字段</param>
        /// <param name="where_value">查询值</param>
        /// <returns>返回字段值</returns>
        public override string get_table_fileds(string table_name, string table_fileds, string where_fileds, string where_value)
        {
            string rStr = "";
            using (SqlConnection Conn = GetSqlConnection())
            {
                string strSql = string.Format("select {0} from {1} where upper({2})='{3}'", table_fileds, table_name, where_fileds, where_value);
                SqlCommand cmd = new SqlCommand(strSql, Conn);
                cmd.CommandType = CommandType.Text;
                Conn.Open();
                SqlDataReader dr = cmd.ExecuteReader();
                if (dr.Read())
                {
                    rStr = dr[0].ToString();
                }
                dr.Close();
                dr.Dispose();
                cmd.Dispose();
                Conn.Dispose();
                Conn.Close();
            }
            return rStr;
        }

        public override string get_table_fileds2(string table_name, string table_fileds, string where_fileds, string where_value, string where_fileds2, string where_value2, string where_fileds3, string where_value3, string where_fileds4, string where_value4)
        {
            string rStr = "";
            using (SqlConnection Conn = GetSqlConnection())
            {
                string strSql = string.Format("select {0} from {1} where upper({2})='{3}' and {4}= '{5}' and {6}='{7}'  and {8}='{9}'", table_fileds, table_name, where_fileds, where_value, where_fileds2, where_value2, where_fileds3, where_value3, where_fileds4, where_value4);
                SqlCommand cmd = new SqlCommand(strSql, Conn);
                cmd.CommandType = CommandType.Text;
                Conn.Open();
                SqlDataReader dr = cmd.ExecuteReader();
                if (dr.Read())
                {
                    rStr = dr[0].ToString();
                }
                dr.Close();
                dr.Dispose();
                cmd.Dispose();
                Conn.Dispose();
                Conn.Close();
            }
            return rStr;
        }
    
        public override string get_table_fileds3(string table_name, string table_fileds, string where_fileds, string where_value, string where_fileds2, string where_value2, string where_fileds3, string where_value3, string where_fileds4, string where_value4)
        {
            string rStr = "";
            using (SqlConnection Conn = GetSqlConnection())
            {
                string strSql = string.Format("select {0} from {1} where upper({2})='{3}' and  {4} > {5} and {6}='{7}'  and {8}='{9}'", table_fileds, table_name, where_fileds, where_value, where_fileds2, where_value2, where_fileds3, where_value3, where_fileds4, where_value4);
                SqlCommand cmd = new SqlCommand(strSql, Conn);
                cmd.CommandType = CommandType.Text;
                Conn.Open();
                SqlDataReader dr = cmd.ExecuteReader();
                if (dr.Read())
                {
                    rStr = dr[0].ToString();
                }
                dr.Close();
                dr.Dispose();
                cmd.Dispose();
                Conn.Dispose();
                Conn.Close();
            }
            return rStr;
        }
      
        #endregion

        #region "更新表中字段值"
        /// <summary>
        /// 更新表中字段值(非安全函数,传入参数请进行Sql字符串过滤)
        /// </summary>
        /// <param name="Table">表名</param>
        /// <param name="Table_FiledsValue">需要更新值(不用带Set)</param>
        /// <param name="Wheres">更新条件(不用带Where)</param>
        /// <returns>-1:失败,其它值成功</returns>
        public override int Update_Table_Fileds(string Table, string Table_FiledsValue, string Wheres)
        {
            int rInt = -1;
            using (SqlConnection Conn = GetSqlConnection())
            {
                string strSql = string.Format("Update {0} Set {1}  Where {2}", Table,Table_FiledsValue,Wheres);
                SqlCommand cmd = new SqlCommand(strSql, Conn);
                cmd.CommandType = CommandType.Text;
                Conn.Open();                
                rInt = Convert.ToInt32(cmd.ExecuteScalar());
                cmd.Dispose();
                Conn.Dispose();
                Conn.Close();
            }
            return rInt;
        }
        #endregion

        #region 公共查询数据函数Sql存储过程版
        /// <summary>
        /// 公共查询数据函数Sql存储过程版(非安全函数,传入参数请进行Sql字符串过滤)
        /// </summary>
        /// <param name="pd">委托对象</param>
        /// <param name="pp">查询字符串</param>
        /// <param name="RecordCount">返回记录总数</param>
        /// <returns>返回记录集List</returns>
        private List<T> GetRecordList<T>(PopulateDelegate<T> pd, QueryParam pp, out int RecordCount)
        {
            List<T> lst = new List<T>();
            RecordCount = 0;
            using (SqlConnection conn = GetSqlConnection())
            {
                SqlCommand cmd = new SqlCommand("dbo.SupesoftPage", conn);
                cmd.CommandType = CommandType.StoredProcedure;
                // 设置参数
                cmd.Parameters.Add("@TableName", SqlDbType.NVarChar, 500).Value = pp.TableName;
                cmd.Parameters.Add("@ReturnFields", SqlDbType.NVarChar, 500).Value = pp.ReturnFields;
                cmd.Parameters.Add("@Where", SqlDbType.NVarChar, 500).Value = pp.Where;
                cmd.Parameters.Add("@PageIndex", SqlDbType.Int).Value = pp.PageIndex;
                cmd.Parameters.Add("@PageSize", SqlDbType.Int).Value = pp.PageSize;
                cmd.Parameters.Add("@Orderfld", SqlDbType.NVarChar, 200).Value = pp.Orderfld;
                cmd.Parameters.Add("@OrderType", SqlDbType.Int).Value = pp.OrderType;
                // 执行
                conn.Open();
                SqlDataReader dr = cmd.ExecuteReader();
                Dictionary<string, string> Fileds = new Dictionary<string,string>();
                foreach (DataRow var in dr.GetSchemaTable().Select())
                {
                    Fileds.Add(var[0].ToString(), var[0].ToString());
                }
                while (dr.Read())
                {
                    lst.Add(pd(dr,Fileds));
                }
                // 取记录总数 及页数
                if (dr.NextResult())
                {
                    if (dr.Read())
                    {
                        RecordCount = Convert.ToInt32(dr["RecordCount"]);
                    }
                }

                dr.Close();
                cmd.Dispose();
                conn.Close();
            }
            return lst;
        }
        #endregion
    }
}
